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

📄 osgrideditor.pas

📁 企业进销存管理系统
💻 PAS
📖 第 1 页 / 共 5 页
字号:
unit osGridEditor;

interface

{$INCLUDE TSCmpVer}
//{$DEFINE rtTest}
                  
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, TypInfo, ExtCtrls, Grids_ts, Registry,
  ComCtrls, ToolWin, DB, DBTables, ImgList, Menus, TSGrid, TSDBGrid, TSCommon, TsMask,
  propertyDescs, TSImageList, Buttons, osColorComboBox, TsDateTimeDef
  {$IFNDEF rtTest}
  {$IFDEF TSVER_V6}
     , Variants, ValEdit, DesignIntf, DesignEditors, VCLEditors, TsImageListEditor
  {$ELSE}
     , DsgnIntf, TSImagelistEditor
  {$ENDIF}
  {$ELSE}
  {$IFDEF TSVER_V6}, Variants, ValEdit {$ENDIF}
  {$ENDIF};

const
  SNoMaskDefs = 'Cannot adjust mask properties - please add a TtsMaskDefs component and associate with your grid first!';
  MaxComboRows = 50;
  TG_REGENTRIES = '\Software\ObjectSight\TopGrid\';

type
  TosGridPropertyView = (gpAll, gpFont, gpColor, gpVCL, gpControls, gpBasic, gpHeading, gpDragging, gpBooleans, gpData, gpCustom, gpModified);
  TosColPropertyView = (cpAll, cpHeading, cpBasic, cpControls, cpCustom, cpModified);
  TosPropertyType = (ptEdit, ptSpin, ptBoolean, ptCombo, ptColor, ptButton);

{$IFNDEF rtTest}
  TosGridEditor = class(TComponentEditor)
  public
    procedure GetDatasourceName(const sValue : String);
    procedure GetDateTimeDefName(const sValue : String);
    procedure Edit; override;
    function GetVerbCount: Integer; override;
    function GetVerb(Index: integer): string; override;
    procedure ExecuteVerb(Index: integer); override;
    procedure ApplyDbColumns;
  end;
{$ENDIF}

  TosSelectedColumn = class(TObject)
  private
    FCol : Integer;
    FFieldName : String;
    FHeading  : String;
  protected
  public
    property Col : Integer read FCol write FCol;
    property FieldName : String read FFieldName write FFieldName;
    property Heading : String read FHeading write FHeading;
  end;

  TfmOsGridEditor = class(TForm)
    sampleGrid: TtsGrid;
    tbEditor: TToolBar;
    tbSave: TToolButton;
    tbDeleteColumn: TToolButton;
    Splitter: TSplitter;
    pgEditor: TPageControl;
    tsAdvanced: TTabSheet;
    tsCommon: TTabSheet;
    tsColumns: TTabSheet;
    pnPropertyEditor: TPanel;
    veEditor: TtsGrid;
    Panel2: TPanel;
    Label2: TLabel;
    cbPropertyView: TComboBox;
    sbStatus: TStatusBar;
    gbProperty: TGroupBox;
    Label5: TLabel;
    Label6: TLabel;
    edPropertyValue: TEdit;
    cbBoolean: TComboBox;
    cbEnum: TComboBox;
    gbColumn: TGroupBox;
    gbFields: TGroupBox;
    lbFields: TListBox;
    Panel1: TPanel;
    veColEditor: TtsGrid;
    Panel3: TPanel;
    Label7: TLabel;
    edColHeading: TEdit;
    Label8: TLabel;
    cbColPropertyView: TComboBox;
    pmOptions: TPopupMenu;
    ilImages: TImageList;
    ilHotImages: TImageList;
    ToolButton1: TToolButton;
    tbClose: TToolButton;
    ToolButton2: TToolButton;
    tbAddColumn: TToolButton;
    dgFont: TFontDialog;
    rgGridMode: TRadioGroup;
    gbFont: TGroupBox;
    Label1: TLabel;
    Label3: TLabel;
    Label9: TLabel;
    laFontSummary: TLabel;
    Label10: TLabel;
    laHeadingFontSummary: TLabel;
    pmReset: TPopupMenu;
    miResetGridProperty: TMenuItem;
    miResetAllGridProperties: TMenuItem;
    N1: TMenuItem;
    miResetColumnProperty: TMenuItem;
    miResetAllColumnProperties: TMenuItem;
    gbMisc: TGroupBox;
    chShowEditor: TCheckBox;
    chHeadingOn: TCheckBox;
    chShowFocus: TCheckBox;
    chRowBarOn: TCheckBox;
    chWantTabs: TCheckBox;
    laFocusColor: TLabel;
    laFocusFontColor: TLabel;
    gbLayout: TGroupBox;
    udDefaultRowHeight: TUpDown;
    udDefaultColWidth: TUpDown;
    Label4: TLabel;
    cbGridLines: TComboBox;
    Label13: TLabel;
    cbVertAlignment: TComboBox;
    GroupBox1: TGroupBox;
    Label11: TLabel;
    Label12: TLabel;
    cbColSelect: TComboBox;
    cbRowSelect: TComboBox;
    btAddAllColumns: TButton;
    tsCombos: TTabSheet;
    cbControlType: TComboBox;
    cbButtonType: TComboBox;
    Label14: TLabel;
    Label15: TLabel;
    chColMoving: TCheckBox;
    chRowMoving: TCheckBox;
    tbReset: TToolButton;
    sampleDbGrid: TtsDBGrid;
    cbMask: TComboBox;
    tbRightJustify: TToolButton;
    tbLeftJustify: TToolButton;
    tbCenterJustify: TToolButton;
    ToolButton7: TToolButton;
    tbDefaultJustify: TToolButton;
    ToolButton3: TToolButton;
    qyTest: TQuery;
    DataSource1: TDataSource;
    btCustomMasks: TSpeedButton;
    btEditCustomColProperties: TSpeedButton;
    btCustomGridEdit: TSpeedButton;
    btEditMask: TSpeedButton;
    gbCombos: TGroupBox;
    lbCombos: TListBox;
    gdTest: TtsDBGrid;
    gbCombo: TGroupBox;
    AddCombo1: TMenuItem;
    RemoveCombo1: TMenuItem;
    pgCombo: TPageControl;
    tsComboData: TTabSheet;
    tsGridProperties: TTabSheet;
    tsComboColumns: TTabSheet;
    gdComboData: TtsGrid;
    veComboProperties: TtsGrid;
    pnComboColumnUd: TPanel;
    udComboFields: TUpDown;
    tbSaveFile: TToolButton;
    tbOpenFile: TToolButton;
    ToolButton6: TToolButton;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    N2: TMenuItem;
    miAddColumn: TMenuItem;
    RemoveColumn1: TMenuItem;
    N3: TMenuItem;
    miClearAllColumns: TMenuItem;
    GroupBox2: TGroupBox;
    Label25: TLabel;
    Label26: TLabel;
    edCols: TEdit;
    edRows: TEdit;
    UpDown1: TUpDown;
    UpDown2: TUpDown;
    btInsertField: TBitBtn;
    btAddField: TBitBtn;
    moPropertyDesc: TMemo;
    Splitter1: TSplitter;
    tsRowProperties: TTabSheet;
    tsCellProperties: TTabSheet;
    gbRow: TGroupBox;
    veRowEditor: TtsGrid;
    btShowHiddenRows: TButton;
    gbCell: TGroupBox;
    veCellEditor: TtsGrid;
    cbGridColor: TosColorComboBox;
    cbHeadingColor: TosColorComboBox;
    cbFocusColor: TosColorComboBox;
    cbFocusFontColor: TosColorComboBox;
    cbColors: TosColorComboBox;
    edDefaultRowHeight: TEdit;
    Label27: TLabel;
    edDefaultColWidth: TEdit;
    Label28: TLabel;
    tbSetPicture: TToolButton;
    tbClearPicture: TToolButton;
    ToolButton8: TToolButton;
    chStoreData: TCheckBox;
    chGridMenu: TCheckBox;
    chPrintTotals: TCheckBox;
    tsComboColProperties: TTabSheet;
    veComboColEditor: TtsGrid;
    Panel5: TPanel;
    lbColumns2: TListBox;
    chColPropertiesShortList: TCheckBox;
    Panel6: TPanel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label16: TLabel;
    chAutoFill: TCheckBox;
    chValueColSorted: TCheckBox;
    cbConvertCase: TComboBox;
    cbCompareType: TComboBox;
    cbAutoSearch: TComboBox;
    cbComboDataSource: TComboBox;
    edValueCol: TEdit;
    edDropDownRows: TEdit;
    edDropDownCols: TEdit;
    udDropDownCols: TUpDown;
    udDropDownRows: TUpDown;
    udValueCol: TUpDown;
    chAutoLookup: TCheckBox;
    cbDropDownStyle: TComboBox;
    chComboStoreData: TCheckBox;
    N4: TMenuItem;
    miResetGridColumns: TMenuItem;
    miSortedFieldList: TMenuItem;
    pnTop: TPanel;
    pnIndicator: TPanel;
    chParentCombo: TCheckBox;
    miAddRow: TMenuItem;
    miRemoveRow: TMenuItem;
    pnComboColumns: TPanel;
    lbAllComboFields: TListBox;
    btAddComboColumn: TButton;
    btRemoveComboColumn: TButton;
    lbComboFields: TListBox;

    procedure FormCreate(Sender: TObject);
    procedure veEditorEndCellEdit(Sender: TObject; DataCol,
      DataRow: Integer; var Cancel: Boolean);
    procedure veEditorComboDropDown(Sender: TObject; Combo: TtsComboGrid;
      DataCol, DataRow: Integer);
    procedure veEditorComboCellLoaded(Sender: TObject; Combo: TtsComboGrid;
      DataCol, DataRow: Integer; var Value: Variant);
    procedure veEditorDblClick(Sender: TObject);
    procedure cbPropertyViewChange(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure veEditorCellChanged(Sender: TObject; OldCol, NewCol, OldRow,
      NewRow: Integer);
    procedure veEditorComboInit(Sender: TObject; Combo: TtsComboGrid;
      DataCol, DataRow: Integer);
    procedure veEditorComboGetValue(Sender: TObject; Combo: TtsComboGrid;
      GridDataCol, GridDataRow, ComboDataRow: Integer; var Value: Variant);
    procedure veEditorRowChanged(Sender: TObject; OldRow, NewRow: Integer);
    procedure edPropertyValueKeyPress(Sender: TObject; var Key: Char);
    procedure edPropertyValueExit(Sender: TObject);
    procedure cbBooleanChange(Sender: TObject);
    procedure cbBooleanEnter(Sender: TObject);
    procedure cbBooleanExit(Sender: TObject);
    procedure cbEnumEnter(Sender: TObject);
    procedure cbEnumExit(Sender: TObject);
    procedure cbEnumChange(Sender: TObject);
    procedure sampleGridMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure btAddFieldClick(Sender: TObject);
    procedure edColHeadingChange(Sender: TObject);
    procedure edColHeadingEnter(Sender: TObject);
    procedure edColHeadingExit(Sender: TObject);
    procedure lbFieldsDblClick(Sender: TObject);
    procedure cbColPropertyViewClick(Sender: TObject);
    procedure tbCloseClick(Sender: TObject);
    procedure veEditorButtonClick(Sender: TObject; DataCol,
      DataRow: Integer);
    procedure tbDeleteColumnClick(Sender: TObject);
    procedure veColEditorButtonClick(Sender: TObject; DataCol,
      DataRow: Integer);
    procedure tbAddColumnClick(Sender: TObject);
    procedure veColEditorComboDropDown(Sender: TObject;
      Combo: TtsComboGrid; DataCol, DataRow: Integer);
    procedure veColEditorComboGetValue(Sender: TObject;
      Combo: TtsComboGrid; GridDataCol, GridDataRow, ComboDataRow: Integer;
      var Value: Variant);
    procedure veColEditorComboCellLoaded(Sender: TObject;
      Combo: TtsComboGrid; DataCol, DataRow: Integer; var Value: Variant);
    procedure veColEditorComboInit(Sender: TObject; Combo: TtsComboGrid;
      DataCol, DataRow: Integer);
    procedure tbSaveClick(Sender: TObject);
    procedure rgGridModeClick(Sender: TObject);
    procedure laFontSummaryDblClick(Sender: TObject);
    procedure laHeadingFontSummaryDblClick(Sender: TObject);
    procedure pgEditorChange(Sender: TObject);
    procedure chShowEditorClick(Sender: TObject);
    procedure chShowFocusClick(Sender: TObject);
    procedure chHeadingOnClick(Sender: TObject);
    procedure chRowBarOnClick(Sender: TObject);
    procedure chWantTabsClick(Sender: TObject);
    procedure cbVertAlignmentChange(Sender: TObject);
    procedure cbGridLinesChange(Sender: TObject);
    procedure sampleGridCellLoaded(Sender: TObject; DataCol,
      DataRow: Integer; var Value: Variant);
    procedure sampleGridColResized(Sender: TObject; RowColnr: Integer);
    procedure cbColSelectChange(Sender: TObject);
    procedure cbRowSelectChange(Sender: TObject);
    procedure veColEditorEndCellEdit(Sender: TObject; DataCol,
      DataRow: Integer; var Cancel: Boolean);
    procedure btAddAllColumnsClick(Sender: TObject);
    procedure miResetGridPropertyClick(Sender: TObject);
    procedure miResetAllGridPropertiesClick(Sender: TObject);
    procedure miResetColumnPropertyClick(Sender: TObject);
    procedure miResetAllColumnPropertiesClick(Sender: TObject);
    procedure pmResetPopup(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure sampleGridKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure sampleGridKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure sampleGridKeyPress(Sender: TObject; var Key: Char);
    procedure cbControlTypeChange(Sender: TObject);
    procedure cbButtonTypeChange(Sender: TObject);
    procedure chColMovingClick(Sender: TObject);
    procedure chRowMovingClick(Sender: TObject);
    procedure sampleDbGridColResized(Sender: TObject; RowColnr: Integer);

⌨️ 快捷键说明

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