⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editorsinplacedemomain.pas

📁 DevExpress ExpressQuantumGrid Suite v5.9 Full Source
💻 PAS
字号:
unit EditorsInPlaceDemoMain;

interface

uses
  Windows, Messages, 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, cxGridCardView, cxGridDBCardView, cxDBEdit, cxDropDownEdit,
  cxDataStorage, cxMRUEdit, cxButtonEdit, cxCheckBox, cxMaskEdit, cxMemo,
  cxDBLookupComboBox, cxTimeEdit, cxImageComboBox, cxSpinEdit, cxCalc,
  cxImage, cxHyperLinkEdit, cxLookAndFeels;

type
  TEditorsInPlaceDemoMainForm = 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;
    lbDescription: TLabel;
    miShowEditButtons: TMenuItem;
    miEditButtonsNever: TMenuItem;
    miEditButtonsForFocusedRecord: TMenuItem;
    miEditButtonsAlways: TMenuItem;
    N2: TMenuItem;
    lvOrders: TcxGridLevel;
    lvCars: TcxGridLevel;
    cvCustomers: TcxGridDBCardView;
    cvOrders: TcxGridDBCardView;
    cvCars: TcxGridDBCardView;
    cvCustomersFirstName: TcxGridDBCardViewRow;
    cvCustomersLastName: TcxGridDBCardViewRow;
    cvCustomersCompany: TcxGridDBCardViewRow;
    cvCustomersPrefix: TcxGridDBCardViewRow;
    cvCustomersAddress: TcxGridDBCardViewRow;
    cvCustomersCity: TcxGridDBCardViewRow;
    cvCustomersState: TcxGridDBCardViewRow;
    cvCustomersZipCode: TcxGridDBCardViewRow;
    cvCustomersCustomer: TcxGridDBCardViewRow;
    cvCustomersFaxPhone: TcxGridDBCardViewRow;
    cvCustomersDescription: TcxGridDBCardViewRow;
    cvOrdersCustomerID: TcxGridDBCardViewRow;
    cvOrdersProductID: TcxGridDBCardViewRow;
    cvOrdersPurchaseDate: TcxGridDBCardViewRow;
    cvOrdersTime: TcxGridDBCardViewRow;
    cvOrdersPaymentType: TcxGridDBCardViewRow;
    cvOrdersDescription: TcxGridDBCardViewRow;
    cvOrdersQuantity: TcxGridDBCardViewRow;
    cvOrdersPaymentAmount: TcxGridDBCardViewRow;
    cvCarsPicture: TcxGridDBCardViewRow;
    cvCarsCar: TcxGridDBCardViewRow;
    cvCarsCategory: TcxGridDBCardViewRow;
    cvCarsHyperlink: TcxGridDBCardViewRow;
    cvCarsInfo: TcxGridDBCardViewRow;
    LookAndFeelController: TcxLookAndFeelController;
    procedure miAboutClick(Sender: TObject);
    procedure miExitClick(Sender: TObject);
    procedure miNativeStyleClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure cvCustomersStatePropertiesButtonClick(Sender: TObject);
    procedure cvCustomersCityPropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure GridFocusedViewChanged(Sender: TcxCustomGrid;
      APrevFocusedView, AFocusedView: TcxCustomGridView);
    procedure miEditButtonsClick(Sender: TObject);
    procedure cvCarsCustomDrawCell(Sender: TcxCustomGridTableView;
      ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
      var ADone: Boolean);
    procedure miLookAndFeelKindClick(Sender: TObject);
  private
    procedure UpdateOptions;
  end;

var
  EditorsInPlaceDemoMainForm: TEditorsInPlaceDemoMainForm;

implementation

{$R *.dfm}

uses
  EditorsInPlaceDemoData, ShellAPI,
  EditorsInPlaceDemoCities, EditorsInPlaceDemoCars, AboutDemoForm;

procedure TEditorsInPlaceDemoMainForm.miAboutClick(Sender: TObject);
begin
  ShowAboutDemoForm;
end;

procedure TEditorsInPlaceDemoMainForm.miExitClick(Sender: TObject);
begin
  Close;
end;

procedure TEditorsInPlaceDemoMainForm.miNativeStyleClick(Sender: TObject);
begin
  with LookAndFeelController do
  begin
    NativeStyle := not NativeStyle;
    (Sender as TMenuItem).Checked := NativeStyle;
  end;
end;

procedure TEditorsInPlaceDemoMainForm.FormShow(Sender: TObject);
begin
  TcxPopupEditProperties(cvCarsInfo.Properties).ImmediatePopup := True;
end;

procedure TEditorsInPlaceDemoMainForm.cvCustomersStatePropertiesButtonClick(
  Sender: TObject);
begin
  MessageDlg('Button click event handler', mtInformation, [mbOK], 0);
end;

procedure TEditorsInPlaceDemoMainForm.cvCustomersCityPropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin
  case AButtonIndex of
    0:
      if EditorsInPlaceDemoCitiesForm.ShowModal = mrOk then
      begin
        EditorsInPlaceDemoDataDM.tblCustomers.Edit;
        EditorsInPlaceDemoDataDM.tblCustomersCity.Value := EditorsInPlaceDemoCitiesForm.Value;
      end;
    1: ShellExecute(Handle, 'OPEN', 'http://www.usacitiesonline.com/', nil, nil, SW_SHOWMAXIMIZED);
  end;
end;

procedure TEditorsInPlaceDemoMainForm.GridFocusedViewChanged(
  Sender: TcxCustomGrid; APrevFocusedView,
  AFocusedView: TcxCustomGridView);
begin
  UpdateOptions;
end;

procedure TEditorsInPlaceDemoMainForm.UpdateOptions;
var
  AView: TcxGridDBCardView;
begin
 AView := TcxGridDBCardView(Grid.FocusedView);
 case AView.OptionsView.ShowEditButtons of
   gsebNever: miEditButtonsNever.Checked := True;
   gsebForFocusedRecord: miEditButtonsForFocusedRecord.Checked := True;
   gsebAlways: miEditButtonsAlways.Checked := True;
 end;
end;

procedure TEditorsInPlaceDemoMainForm.miEditButtonsClick(
  Sender: TObject);
var
  AView: TcxGridDBCardView;
begin
  if not TMenuItem(Sender).Checked then
  begin
    AView := TcxGridDBCardView(Grid.FocusedView);
    case (TMenuItem(Sender).Tag) of
      0: AView.OptionsView.ShowEditButtons := gsebNever;
      1: AView.OptionsView.ShowEditButtons := gsebForFocusedRecord;
      2: AView.OptionsView.ShowEditButtons := gsebAlways;
    end;
    TMenuItem(Sender).Checked := True;
  end;
end;

procedure TEditorsInPlaceDemoMainForm.cvCarsCustomDrawCell(
  Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
  if (AViewInfo.Item.Index = cvCarsInfo.Index) and (AViewInfo is TcxGridCardRowDataViewInfo) then
  begin
    ACanvas.Canvas.Brush.Style := bsSolid;
    ACanvas.Canvas.Brush.Color := $00F7EAD9;
    ACanvas.Canvas.FillRect(AViewInfo.Bounds);
    SetBkMode(ACanvas.Handle, TRANSPARENT);
    ACanvas.Font.Color := clBlack;
    ACanvas.DrawText('<click here and view dropdown window>', AViewInfo.Bounds, 0);
    ADone := True;
  end;
end;

procedure TEditorsInPlaceDemoMainForm.miLookAndFeelKindClick(
  Sender: TObject);
begin
  LookAndFeelController.Kind := TcxLookAndFeelKind(TMenuItem(Sender).MenuIndex);
  (Sender as TMenuItem).Checked := True;
end;

end.

⌨️ 快捷键说明

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