git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.DevExpressVCL@7 05c56307-c608-d34a-929d-697000501d7a
273 lines
8.6 KiB
ObjectPascal
273 lines
8.6 KiB
ObjectPascal
unit ColumnsSimpleDemoMain;
|
|
|
|
{$I ..\..\cxVer.inc}
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
|
|
Dialogs, StdCtrls, cxGridLevel, cxGridCustomTableView, cxGridTableView,
|
|
cxGridDBTableView, cxControls, cxGridCustomView, cxGrid, cxCustomData,
|
|
ExtCtrls, ActnList, ImgList, Menus, ComCtrls, cxGridCustomPopupMenu,
|
|
cxGridPopupMenu, Grids, DBGrids,
|
|
cxDBData, cxStyles, cxGraphics, cxFilter, cxData, cxEdit, DB, cxClasses,
|
|
cxDataStorage, cxMRUEdit, cxButtonEdit, cxDropDownEdit, cxCheckBox,
|
|
cxMaskEdit, cxDBLookupComboBox, cxTimeEdit, cxImageComboBox, cxSpinEdit,
|
|
cxCalc, cxBlobEdit, cxImage, cxRadioGroup, cxMemo, cxHyperLinkEdit,
|
|
cxLookAndFeels;
|
|
|
|
type
|
|
TColumnsSimpleDemoMainForm = class(TForm)
|
|
mmMain: TMainMenu;
|
|
miAbout: TMenuItem;
|
|
miFile: TMenuItem;
|
|
miOptions: TMenuItem;
|
|
miExit: TMenuItem;
|
|
miLookFeel: TMenuItem;
|
|
miKind: TMenuItem;
|
|
miFlat: TMenuItem;
|
|
miStandard: TMenuItem;
|
|
miUltraFlat: TMenuItem;
|
|
miNativeStyle: TMenuItem;
|
|
sbMain: TStatusBar;
|
|
Grid: TcxGrid;
|
|
lvCustomers: TcxGridLevel;
|
|
lvOrders: TcxGridLevel;
|
|
lbDescription: TLabel;
|
|
tvCustomers: TcxGridDBTableView;
|
|
tvCustomersFirstName: TcxGridDBColumn;
|
|
tvCustomersLastName: TcxGridDBColumn;
|
|
tvCustomersCompany: TcxGridDBColumn;
|
|
tvCustomersPrefix: TcxGridDBColumn;
|
|
tvCustomersAddress: TcxGridDBColumn;
|
|
tvCustomersCity: TcxGridDBColumn;
|
|
tvCustomersState: TcxGridDBColumn;
|
|
tvCustomersZipCode: TcxGridDBColumn;
|
|
tvCustomersCustomer: TcxGridDBColumn;
|
|
tvCustomersFaxPhone: TcxGridDBColumn;
|
|
tvOrders: TcxGridDBTableView;
|
|
tvOrdersProductID: TcxGridDBColumn;
|
|
tvOrdersPurchaseDate: TcxGridDBColumn;
|
|
tvOrdersTime: TcxGridDBColumn;
|
|
tvOrdersPaymentType: TcxGridDBColumn;
|
|
tvOrdersDescription: TcxGridDBColumn;
|
|
tvOrdersQuantity: TcxGridDBColumn;
|
|
tvOrdersPaymentAmount: TcxGridDBColumn;
|
|
tvOrdersCarInfo: TcxGridDBColumn;
|
|
N1: TMenuItem;
|
|
miShowEditButtons: TMenuItem;
|
|
miEditButtonsNever: TMenuItem;
|
|
miEditButtonsForFocusedRecord: TMenuItem;
|
|
miEditButtonsAlways: TMenuItem;
|
|
N2: TMenuItem;
|
|
miOptionsSelection: TMenuItem;
|
|
miCellSelect: TMenuItem;
|
|
miHideFocusRect: TMenuItem;
|
|
miHideSelection: TMenuItem;
|
|
miInvertSelect: TMenuItem;
|
|
miMultiSelect: TMenuItem;
|
|
LookAndFeelController: TcxLookAndFeelController;
|
|
procedure miAboutClick(Sender: TObject);
|
|
procedure miExitClick(Sender: TObject);
|
|
procedure miNativeStyleClick(Sender: TObject);
|
|
procedure miLookAndFeelKindClick(Sender: TObject);
|
|
procedure FormShow(Sender: TObject);
|
|
procedure tvCustomersStatePropertiesButtonClick(Sender: TObject);
|
|
procedure tvCustomersCityPropertiesButtonClick(Sender: TObject;
|
|
AButtonIndex: Integer);
|
|
procedure tvOrdersCarInfoPropertiesInitPopup(Sender: TObject);
|
|
procedure tvOrdersCarInfoPropertiesCloseUp(Sender: TObject);
|
|
procedure GridFocusedViewChanged(Sender: TcxCustomGrid;
|
|
APrevFocusedView, AFocusedView: TcxCustomGridView);
|
|
procedure miEditButtonsClick(Sender: TObject);
|
|
procedure miCellSelectClick(Sender: TObject);
|
|
procedure miHideFocusRectClick(Sender: TObject);
|
|
procedure miHideSelectionClick(Sender: TObject);
|
|
procedure miInvertSelectClick(Sender: TObject);
|
|
procedure miMultiSelectClick(Sender: TObject);
|
|
private
|
|
procedure UpdateOptions;
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
ColumnsSimpleDemoMainForm: TColumnsSimpleDemoMainForm;
|
|
|
|
implementation
|
|
|
|
uses
|
|
ShellAPI, ColumnsSimpleDemoData, ColumnsSimpleDemoCities,
|
|
ColumnsSimpleDemoCars, AboutDemoForm;
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miAboutClick(Sender: TObject);
|
|
begin
|
|
ShowAboutDemoForm;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miExitClick(Sender: TObject);
|
|
begin
|
|
Close;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miNativeStyleClick(Sender: TObject);
|
|
begin
|
|
with LookAndFeelController do
|
|
begin
|
|
NativeStyle := not NativeStyle;
|
|
(Sender as TMenuItem).Checked := NativeStyle;
|
|
end;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miLookAndFeelKindClick(
|
|
Sender: TObject);
|
|
begin
|
|
LookAndFeelController.Kind := TcxLookAndFeelKind(TMenuItem(Sender).MenuIndex);
|
|
(Sender as TMenuItem).Checked := True;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.FormShow(Sender: TObject);
|
|
begin
|
|
tvCustomers.DataController.ClearDetails;
|
|
if ColumnsSimpleDemoDataDM.tblCars.Active then
|
|
begin
|
|
ColumnsSimpleDemoDataDM.tblCars.First;
|
|
if Assigned(tvCustomers.Controller.FocusedRecord) then
|
|
tvCustomers.Controller.FocusedRecord.Expanded := true;
|
|
end;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.tvCustomersStatePropertiesButtonClick(
|
|
Sender: TObject);
|
|
begin
|
|
MessageDlg('Button click event handler', mtInformation, [mbOK], 0);
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.tvCustomersCityPropertiesButtonClick(
|
|
Sender: TObject; AButtonIndex: Integer);
|
|
begin
|
|
case AButtonIndex of
|
|
0:
|
|
if ColumnsSimpleDemoCitiesForm.ShowModal = mrOk then
|
|
begin
|
|
ColumnsSimpleDemoDataDM.tblCustomers.Edit;
|
|
ColumnsSimpleDemoDataDM.tblCustomersCity.Value :=
|
|
(ColumnsSimpleDemoCitiesForm.Value);
|
|
end;
|
|
1:
|
|
ShellExecute(Handle, PChar('OPEN'), PChar('http://www.usacitiesonline.com/'), nil, nil, SW_SHOWMAXIMIZED);
|
|
end;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.tvOrdersCarInfoPropertiesInitPopup(
|
|
Sender: TObject);
|
|
begin
|
|
ColumnSimpleDemoCarsForm.bvCars.DataController.LocateByKey(
|
|
ColumnsSimpleDemoDataDM.tblOrdersProductID.AsInteger);
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.tvOrdersCarInfoPropertiesCloseUp(
|
|
Sender: TObject);
|
|
begin
|
|
with ColumnsSimpleDemoDataDM do
|
|
begin
|
|
tblOrders.Edit;
|
|
tblOrdersProductID.Value := tblCarsID.Value;
|
|
end;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.GridFocusedViewChanged(
|
|
Sender: TcxCustomGrid; APrevFocusedView,
|
|
AFocusedView: TcxCustomGridView);
|
|
begin
|
|
UpdateOptions;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.UpdateOptions;
|
|
var
|
|
AView: TcxGridDBTableView;
|
|
begin
|
|
AView := TcxGridDBTableView(Grid.FocusedView);
|
|
case AView.OptionsView.ShowEditButtons of
|
|
gsebNever: miEditButtonsNever.Checked := True;
|
|
gsebForFocusedRecord: miEditButtonsForFocusedRecord.Checked := True;
|
|
gsebAlways: miEditButtonsAlways.Checked := True;
|
|
end;
|
|
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;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miEditButtonsClick(Sender: TObject);
|
|
var
|
|
AView: TcxGridDBTableView;
|
|
begin
|
|
AView := TcxGridDBTableView(Grid.FocusedView);
|
|
case ((Sender as TMenuItem).Tag) of
|
|
0: AView.OptionsView.ShowEditButtons := gsebNever;
|
|
1: AView.OptionsView.ShowEditButtons := gsebForFocusedRecord;
|
|
2: AView.OptionsView.ShowEditButtons := gsebAlways;
|
|
end;
|
|
(Sender as TMenuItem).Checked := True;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miCellSelectClick(Sender: TObject);
|
|
var
|
|
AView: TcxGridDBTableView;
|
|
begin
|
|
AView := TcxGridDBTableView(Grid.FocusedView);
|
|
with Sender as TMenuItem do
|
|
Checked := not Checked;
|
|
AView.OptionsSelection.CellSelect := (Sender as TMenuItem).Checked;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miHideFocusRectClick(
|
|
Sender: TObject);
|
|
var
|
|
AView: TcxGridDBTableView;
|
|
begin
|
|
AView := TcxGridDBTableView(Grid.FocusedView);
|
|
with Sender as TMenuItem do
|
|
Checked := not Checked;
|
|
AView.OptionsSelection.HideFocusRect := (Sender as TMenuItem).Checked;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miHideSelectionClick(
|
|
Sender: TObject);
|
|
var
|
|
AView: TcxGridDBTableView;
|
|
begin
|
|
AView := TcxGridDBTableView(Grid.FocusedView);
|
|
with Sender as TMenuItem do
|
|
Checked := not Checked;
|
|
AView.OptionsSelection.HideSelection := (Sender as TMenuItem).Checked;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miInvertSelectClick(
|
|
Sender: TObject);
|
|
var
|
|
AView: TcxGridDBTableView;
|
|
begin
|
|
AView := TcxGridDBTableView(Grid.FocusedView);
|
|
with Sender as TMenuItem do
|
|
Checked := not Checked;
|
|
AView.OptionsSelection.InvertSelect := (Sender as TMenuItem).Checked;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miMultiSelectClick(
|
|
Sender: TObject);
|
|
var
|
|
AView: TcxGridDBTableView;
|
|
begin
|
|
AView := TcxGridDBTableView(Grid.FocusedView);
|
|
with Sender as TMenuItem do
|
|
Checked := not Checked;
|
|
AView.OptionsSelection.MultiSelect := (Sender as TMenuItem).Checked;
|
|
end;
|
|
|
|
end.
|