//--------------------------------------------------------------------------- #include #include "shellapi.hpp" #pragma hdrstop #include "ColumnsSimpleDemoMain.h" #include "AboutDemoForm.h" #include "ColumnsSimpleDemoData.h" #include "ColumnsSimpleDemoCars.h" #include "ColumnsSimpleDemoCities.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "cxClasses" #pragma link "cxControls" #pragma link "cxCustomData" #pragma link "cxData" #pragma link "cxDBData" #pragma link "cxEdit" #pragma link "cxFilter" #pragma link "cxGraphics" #pragma link "cxGrid" #pragma link "cxGridCustomTableView" #pragma link "cxGridCustomView" #pragma link "cxGridDBTableView" #pragma link "cxGridLevel" #pragma link "cxGridTableView" #pragma link "cxStyles" #pragma link "cxLookAndFeels" #pragma resource "*.dfm" TColumnsSimpleDemoMainForm *ColumnsSimpleDemoMainForm; //--------------------------------------------------------------------------- __fastcall TColumnsSimpleDemoMainForm::TColumnsSimpleDemoMainForm(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::miAboutClick(TObject *Sender) { ShowAboutDemoForm(); } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::miExitClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::FormShow(TObject *Sender) { tvCustomers->DataController->ClearDetails(); if (!ColumnsSimpleDemoDataDM->tblCars->Active) ColumnsSimpleDemoDataDM->tblCars->Active = true; ColumnsSimpleDemoDataDM->tblCars->First(); if(tvCustomers->Controller->FocusedRecord != NULL) tvCustomers->Controller->FocusedRecord->Expanded = true; } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::miEditButtonsClick( TObject *Sender) { TcxGridDBTableView* AView = (TcxGridDBTableView*)Grid->FocusedView; AView->OptionsView->ShowEditButtons = (TcxGridShowEditButtons)((TMenuItem*)Sender)->Tag; ((TMenuItem*)Sender)->Checked = true; } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::miCellSelectClick( TObject *Sender) { TcxGridDBTableView* AView = (TcxGridDBTableView*)Grid->FocusedView; AView->OptionsSelection->CellSelect = !AView->OptionsSelection->CellSelect; ((TMenuItem*)Sender)->Checked = AView->OptionsSelection->CellSelect; } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::miHideFocusRectClick( TObject *Sender) { TcxGridDBTableView* AView = (TcxGridDBTableView*)Grid->FocusedView; ((TMenuItem*)Sender)->Checked = !((TMenuItem*)Sender)->Checked; AView->OptionsSelection->HideFocusRect = ((TMenuItem*)Sender)->Checked; } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::miHideSelectionClick( TObject *Sender) { TcxGridDBTableView* AView = (TcxGridDBTableView*)Grid->FocusedView; ((TMenuItem*)Sender)->Checked = !((TMenuItem*)Sender)->Checked; AView->OptionsSelection->HideSelection = ((TMenuItem*)Sender)->Checked; } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::miInvertSelectClick( TObject *Sender) { TcxGridDBTableView* AView = (TcxGridDBTableView*)Grid->FocusedView; ((TMenuItem*)Sender)->Checked = !((TMenuItem*)Sender)->Checked; AView->OptionsSelection->InvertSelect = ((TMenuItem*)Sender)->Checked; } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::miMultiSelectClick( TObject *Sender) { TcxGridDBTableView* AView = (TcxGridDBTableView*)Grid->FocusedView; ((TMenuItem*)Sender)->Checked = !((TMenuItem*)Sender)->Checked; AView->OptionsSelection->MultiSelect = ((TMenuItem*)Sender)->Checked; } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::tvCustomersStatePropertiesButtonClick( TObject *Sender) { MessageDlg("Button click event handler", mtInformation, TMsgDlgButtons() << mbOK, 0); } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::tvCustomersCityPropertiesButtonClick( TObject *Sender, int AButtonIndex) { switch(AButtonIndex) { case 0: if (ColumnsSimpleDemoCitiesForm->ShowModal() == mrOk) { ColumnsSimpleDemoDataDM->tblCustomers->Edit(); ColumnsSimpleDemoDataDM->tblCustomersCity->Value = ColumnsSimpleDemoCitiesForm->Value; }; break; case 1: ShellExecute(Handle, "OPEN", "http://www.usacitiesonline.com/", NULL, NULL, SW_SHOWMAXIMIZED); break; } } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::tvOrdersCarInfoPropertiesInitPopup( TObject *Sender) { ColumnSimpleDemoCarsForm->bvCars->DataController->LocateByKey( ColumnsSimpleDemoDataDM->tblOrdersProductID->AsInteger); } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::tvOrdersCarInfoPropertiesCloseUp( TObject *Sender) { ColumnsSimpleDemoDataDM->tblOrders->Edit(); ColumnsSimpleDemoDataDM->tblOrdersProductID->Value = ColumnsSimpleDemoDataDM->tblCarsID->Value; } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::UpdateOptions() { TcxGridDBTableView* AView = (TcxGridDBTableView*)Grid->FocusedView; switch (AView->OptionsView->ShowEditButtons) { case gsebNever: miEditButtonsNever->Checked = true; break; case gsebForFocusedRecord: miEditButtonsForFocusedRecord->Checked = true; break; case gsebAlways: miEditButtonsAlways->Checked = true; break; } miCellSelect->Checked = AView->OptionsSelection->CellSelect; miHideFocusRect->Checked = AView->OptionsSelection->HideFocusRect; miHideSelection->Checked = AView->OptionsSelection->HideSelection; miInvertSelect->Checked = AView->OptionsSelection->InvertSelect; miMultiSelect->Checked = AView->OptionsSelection->MultiSelect; } void __fastcall TColumnsSimpleDemoMainForm::GridFocusedViewChanged( TcxCustomGrid *Sender, TcxCustomGridView *APrevFocusedView, TcxCustomGridView *AFocusedView) { UpdateOptions(); } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::miLookAndFeelKindClick( TObject *Sender) { LookAndFeelController->Kind = (TcxLookAndFeelKind)((TMenuItem*)Sender)->MenuIndex; ((TMenuItem*)Sender)->Checked = true; } //--------------------------------------------------------------------------- void __fastcall TColumnsSimpleDemoMainForm::miNativeStyleClick(TObject *Sender) { LookAndFeelController->NativeStyle = !LookAndFeelController->NativeStyle; ((TMenuItem*)Sender)->Checked = LookAndFeelController->NativeStyle; } //---------------------------------------------------------------------------