editorsinplacedemomain.pas

来自「delphi的的三方控件」· PAS 代码 · 共 104 行

PAS
104
字号
unit EditorsInPlaceDemoMain;

interface

{$I ..\cxVer.inc}

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, cxControls, cxLookAndFeels, ActnList, ImgList, Menus, ComCtrls,
  StdCtrls, DemoBasicMain, cxContainer, cxEdit, cxTextEdit, cxStyles, cxMaskEdit,
  cxCalendar, cxCurrencyEdit, cxMemo, cxInplaceContainer, cxDBLookupComboBox,
  cxTimeEdit, cxCalc, cxSpinEdit, cxImageComboBox, cxDropDownEdit, cxEditRepositoryItems,
  cxRadioGroup, cxImage, cxBlobEdit, cxCheckBox, cxHyperLinkEdit, cxButtonEdit, cxMRUEdit,
  cxGraphics, cxCustomData, cxDataUtils, cxVGrid, cxDBVGrid, cxClasses 
  {$IFDEF DELPHI6}, Variants{$ENDIF};

type
  TEditorsInPlaceDemoMainForm = class(TDemoBasicMainForm)
    miShowEditButtons: TMenuItem;
    miEditBtnsAlways: TMenuItem;
    miEditBtnsFocused: TMenuItem;
    miEditBtnsNever: TMenuItem;
    N1: TMenuItem;
    vgOrders: TcxDBVerticalGrid;
    vgOrdersCompany: TcxCategoryRow;
    vgOrdersCustomerID: TcxDBEditorRow;
    vgOrdersCustomerEmail: TcxDBEditorRow;
    vgOrdersPurchaseInfo: TcxCategoryRow;
    vgOrdersPaymentType: TcxDBEditorRow;
    vgOrdersPaymentAmount: TcxDBEditorRow;
    vgOrdersTime: TcxDBEditorRow;
    vgOrdersPurchaseDate: TcxDBEditorRow;
    vgOrdersQuantity: TcxDBEditorRow;
    vgOrdersCar: TcxCategoryRow;
    vgOrdersProductID: TcxDBEditorRow;
    vgOrdersCarInfo: TcxDBEditorRow;
    procedure vgOrdersCompanyEmailPropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure miShowEditBtnsClick(Sender: TObject);
    procedure actAboutExecute(Sender: TObject);
    procedure vgOrdersCarInfoPropertiesGetDisplayText(
      Sender: TcxCustomEditorRowProperties; ARecord: Integer;
      var AText: String);
    procedure vgOrdersCarInfoEditPropertiesInitPopup(Sender: TObject);
    procedure vgOrdersCarInfoEditPropertiesCloseUp(Sender: TObject);
  private
  end;

var
  EditorsInPlaceDemoMainForm: TEditorsInPlaceDemoMainForm;

implementation

uses EditorsInPlaceDemoData, ShellAPI, EditorsInPlaceDemoCarInfo;

{$R *.dfm}

procedure TEditorsInPlaceDemoMainForm.vgOrdersCompanyEmailPropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin
  ShellExecute(Handle, PChar('OPEN'), PChar('mailto:' +
    VarToStr(vgOrdersCustomerEmail.Properties.Value)),
    nil, nil, SW_SHOWMAXIMIZED);
end;

procedure TEditorsInPlaceDemoMainForm.miShowEditBtnsClick(
  Sender: TObject);
begin
  TMenuItem(Sender).Checked := True;
  vgOrders.OptionsView.ShowEditButtons := TcxEditingControlEditShowButtons(TMenuItem(Sender).Tag);
end;

procedure TEditorsInPlaceDemoMainForm.actAboutExecute(Sender: TObject);
begin
  ShowAbout(False, True);
end;

procedure TEditorsInPlaceDemoMainForm.vgOrdersCarInfoPropertiesGetDisplayText(
  Sender: TcxCustomEditorRowProperties; ARecord: Integer;
  var AText: String);
begin
  AText := 'Click here';
end;

procedure TEditorsInPlaceDemoMainForm.vgOrdersCarInfoEditPropertiesInitPopup(
  Sender: TObject);
var
  ACarID: Variant;
begin
  EditorsInPlaceDemoCarInfoForm.PopupEdit := TcxPopupEdit(Sender);
  ACarID := vgOrdersProductID.Properties.Value;
  EditorsInPlaceDemoCarInfoForm.InitPopupPanel(ACarID);
end;

procedure TEditorsInPlaceDemoMainForm.vgOrdersCarInfoEditPropertiesCloseUp(
  Sender: TObject);
begin
  with EditorsInPlaceDemoCarInfoForm, vgOrders.DataController do
    if (vgOrdersProductID.Properties.Value <> EditValue) and Accepted then
      vgOrdersProductID.Properties.Value := EditValue;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?