git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.DevExpressVCL@21 05c56307-c608-d34a-929d-697000501d7a
252 lines
8.4 KiB
ObjectPascal
252 lines
8.4 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;
|
|
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;
|
|
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);
|
|
procedure tvCustomersCompanyGetCellHint(Sender: TcxCustomGridTableItem;
|
|
ARecord: TcxCustomGridRecord; ACellViewInfo: TcxGridTableDataCellViewInfo;
|
|
const AMousePos: TPoint; var AHintText: TCaption;
|
|
var AIsHintMultiLine: Boolean; var AHintTextRect: TRect);
|
|
private
|
|
function GetView: TcxGridTableView;
|
|
procedure UpdateMenu;
|
|
public
|
|
property View: TcxGridTableView read GetView;
|
|
end;
|
|
|
|
var
|
|
ColumnsSimpleDemoMainForm: TColumnsSimpleDemoMainForm;
|
|
|
|
implementation
|
|
|
|
uses
|
|
ShellAPI, ColumnsSimpleDemoData, ColumnsSimpleDemoCities,
|
|
ColumnsSimpleDemoCars, AboutDemoForm;
|
|
|
|
{$R *.dfm}
|
|
|
|
function TColumnsSimpleDemoMainForm.GetView: TcxGridTableView;
|
|
begin
|
|
Result := TcxGridTableView(Grid.FocusedView);
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.UpdateMenu;
|
|
begin
|
|
miShowEditButtons[Ord(View.OptionsView.ShowEditButtons)].Checked := True;
|
|
|
|
miCellSelect.Checked := View.OptionsSelection.CellSelect;
|
|
miHideFocusRect.Checked := View.OptionsSelection.HideFocusRect;
|
|
miHideSelection.Checked := View.OptionsSelection.HideSelection;
|
|
miInvertSelect.Checked := View.OptionsSelection.InvertSelect;
|
|
miMultiSelect.Checked := View.OptionsSelection.MultiSelect;
|
|
|
|
miNativeStyle.Checked := LookAndFeelController.NativeStyle;
|
|
miKind[Ord(LookAndFeelController.Kind)].Checked := True;
|
|
end;
|
|
|
|
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
|
|
NativeStyle := not NativeStyle;
|
|
UpdateMenu;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miLookAndFeelKindClick(Sender: TObject);
|
|
begin
|
|
LookAndFeelController.Kind := TcxLookAndFeelKind(TMenuItem(Sender).MenuIndex);
|
|
UpdateMenu;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.FormShow(Sender: TObject);
|
|
begin
|
|
if tvCustomers.Controller.FocusedRecord <> nil then
|
|
tvCustomers.Controller.FocusedRecord.Expanded := True;
|
|
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.tvCustomersCompanyGetCellHint(
|
|
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
|
ACellViewInfo: TcxGridTableDataCellViewInfo; const AMousePos: TPoint;
|
|
var AHintText: TCaption; var AIsHintMultiLine: Boolean;
|
|
var AHintTextRect: TRect);
|
|
begin
|
|
AHintText := ARecord.DisplayTexts[tvCustomersAddress.Index] + #13 +
|
|
ARecord.DisplayTexts[tvCustomersCity.Index] + ', ' + ARecord.DisplayTexts[tvCustomersState.Index] + ' ' +
|
|
ARecord.DisplayTexts[tvCustomersZipCode.Index] + #13 +
|
|
ARecord.DisplayTexts[tvCustomersFaxPhone.Index];
|
|
AHintTextRect.Top := ACellViewInfo.Bounds.Bottom + 3;
|
|
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
|
|
UpdateMenu;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miEditButtonsClick(Sender: TObject);
|
|
begin
|
|
View.OptionsView.ShowEditButtons := TcxGridShowEditButtons(TMenuItem(Sender).MenuIndex);
|
|
UpdateMenu;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miCellSelectClick(Sender: TObject);
|
|
begin
|
|
with View.OptionsSelection do
|
|
CellSelect := not CellSelect;
|
|
UpdateMenu;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miHideFocusRectClick(Sender: TObject);
|
|
begin
|
|
with View.OptionsSelection do
|
|
HideFocusRectOnExit := not HideFocusRectOnExit;
|
|
UpdateMenu;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miHideSelectionClick(Sender: TObject);
|
|
begin
|
|
with View.OptionsSelection do
|
|
HideSelection := not HideSelection;
|
|
UpdateMenu;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miInvertSelectClick(Sender: TObject);
|
|
begin
|
|
with View.OptionsSelection do
|
|
InvertSelect := not InvertSelect;
|
|
UpdateMenu;
|
|
end;
|
|
|
|
procedure TColumnsSimpleDemoMainForm.miMultiSelectClick(Sender: TObject);
|
|
begin
|
|
with View.OptionsSelection do
|
|
MultiSelect := not MultiSelect;
|
|
UpdateMenu;
|
|
end;
|
|
|
|
end.
|