亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? toolctrlseh.pas

?? EHlib CN For Delphi2009
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
{*******************************************************}
{                                                       }
{                      EhLib v4.2                       }
{                     Tool controls                     }
{                    (Build 4.2.05)                     }
{                                                       }
{      Copyright (c) 2001-2006 by Dmitry V. Bolshakov   }
{                                                       }
{*******************************************************}

{$I EhLib.Inc}

{$IFDEF EH_LIB_VCL}
unit ToolCtrlsEh {$IFDEF CIL} platform {$ENDIF};
{$ELSE}
unit QToolCtrlsEh;
{$ENDIF}

interface

{$IFDEF EH_LIB_VCL}
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
{$IFDEF EH_LIB_5} Contnrs, ActnList, {$ENDIF}
{$IFDEF EH_LIB_6} Variants, {$ENDIF}
{$IFDEF CIL}
  EhLibVCLNET,
{$ELSE}
  EhLibVCL,
{$ENDIF}
  StdCtrls, Mask, Db, DBCtrls, Buttons, ExtCtrls, Menus, ComCtrls, CommCtrl,
  Imglist;
{$ELSE}
uses
  QGraphics, QControls, QForms, QDialogs, Variants, QStdCtrls, QMask,
  QDBCtrls, QButtons, QExtCtrls, QMenus, QComCtrls, QImglist,
  Db, SysUtils, Classes;
{$ENDIF}

const
  CM_IGNOREEDITDOWN = WM_USER + 102;

type

  TLocateTextOptionEh = (ltoCaseInsensitiveEh, ltoAllFieldsEh, ltoMatchFormatEh,
    ltoIgnoteCurrentPosEh, ltoStopOnEscape);
  TLocateTextOptionsEh = set of TLocateTextOptionEh;
  TLocateTextDirectionEh = (ltdUpEh, ltdDownEh, ltdAllEh);
  TLocateTextMatchingEh = (ltmAnyPartEh, ltmWholeEh, ltmFromBegingEh);
  TLocateTextTreeFindRangeEh = (lttInAllNodesEh, lttInExpandedNodesEh,
    lttInCurrentLevelEh, lttInCurrentNodeEh);

  IMemTableDataFieldValueListEh = interface
    ['{28F8194C-5FF3-42C4-87A6-8B3E06210FA6}']
    function GetValues: TStrings;
  end;

  IMemTableEh = interface
    ['{A8C3C87A-E556-4BDB-B8A7-5B33497D1624}']
//    property TreeViewMode: Boolean read GetTreeViewMode write SetTreeViewMode;
    function FetchRecords(Count: Integer): Integer;
    function GetInstantReadCurRowNum: Integer;
    function GetTreeNodeExpanded(RowNum: Integer): Boolean; overload;
    function GetTreeNodeExpanded: Boolean; overload;
    function GetTreeNodeHasChields: Boolean;
    function GetTreeNodeLevel: Integer;
    function GetPrevVisibleTreeNodeLevel: Integer;
    function GetNextVisibleTreeNodeLevel: Integer;
    function GetRecObject: TObject;
    function InstantReadIndexOfBookmark(Bookmark: TBookmark): Integer;
    function InstantReadRowCount: Integer;
    function MemTableIsTreeList: Boolean;
    function ParentHasNextSibling(ParenLevel: Integer): Boolean;
    function SetToRec(Rec: TObject): Boolean;
    function SetTreeNodeExpanded(RowNum: Integer; Value: Boolean): Integer;
    function GetFieldValueList(FieldName: String): IMemTableDataFieldValueListEh;
    function MoveRecords(BookmarkList: TList; ToRecNo: Longint; TreeLevel: Integer; CheckOnly: Boolean): Boolean;
    procedure InstantReadEnter(RowNum: Integer);
    procedure InstantReadLeave;
    property InstantReadCurRowNum: Integer read GetInstantReadCurRowNum;
//    property TreeNodeCollapsed: Boolean read GetTreeNodeCollapsed write SetTreeNodeCollapsed;
  end;

  IComboEditEh = interface
    ['{B64255B5-386A-4524-8BC7-7F49DDB410F4}']
    procedure CloseUp(Accept: Boolean);
  end;

  TFieldsArrEh = array of TField;

{ Standard events }

  TButtonClickEventEh = procedure(Sender: TObject; var Handled: Boolean) of object;
  TButtonDownEventEh = procedure(Sender: TObject; TopButton: Boolean;
    var AutoRepeat: Boolean; var Handled: Boolean) of object;
  TCloseUpEventEh = procedure(Sender: TObject; Accept: Boolean) of object;
  TAcceptEventEh = procedure(Sender: TObject; var Accept: Boolean) of object;
  TNotInListEventEh = procedure(Sender: TObject; NewText: String;
    var RecheckInList: Boolean) of object;
  TUpdateDataEventEh = procedure(Sender: TObject; var Handled: Boolean) of object;

{ TBMListEh }

  TBMListEh = class
  private
    FCache: TBookmark;
    FCacheFind: Boolean;
    FCacheIndex: Integer;
    FLinkActive:boolean;
    function GetCount: Integer;
    function GetCurrentRowSelected: Boolean;
    function GetItem(Index: Integer): TBookmark;
  protected
    FList: TList;
    function Compare(const Item1, Item2: TBookmark): Integer;
    function CurrentRow: TBookmark;
    function GetDataSet:TDataSet; virtual; abstract;
    procedure Invalidate; virtual;
    procedure LinkActive(Value: Boolean);
    procedure RaiseBMListError(const S: string); virtual;
    procedure SetCurrentRowSelected(Value: Boolean); virtual;
    procedure StringsChanged(Sender: TObject); virtual;
    procedure UpdateState; virtual;
  public
    constructor Create;
    destructor Destroy; override;
    function Find(const Item: TBookmark; var Index: Integer): Boolean;
    function IndexOf(const Item: TBookmark): Integer;
    function Refresh: Boolean;
    procedure Clear; virtual;
    procedure Delete;
    procedure SelectAll;
    property Count: Integer read GetCount;
    property CurrentRowSelected: Boolean read GetCurrentRowSelected write SetCurrentRowSelected;
    property DataSet:TDataSet read GetDataSet;
    property Items[Index: Integer]: TBookmark read GetItem; default;
  end;

{ TEditButtonControlEh }

  TEditButtonStyleEh = (ebsDropDownEh, ebsEllipsisEh, ebsGlyphEh, ebsUpDownEh,
    ebsPlusEh, ebsMinusEh);

  TEditButtonControlEh = class(TSpeedButton)
  private
    FActive: Boolean;
    FAlwaysDown: Boolean;
    FButtonNum: Integer;
    FNoDoClick: Boolean;
    FOnDown: TButtonDownEventEh;
    FStyle: TEditButtonStyleEh;
    FTimer: TTimer;
    function GetTimer: TTimer;
    procedure ResetTimer(Interval: Cardinal);
    procedure SetActive(const Value: Boolean);
    procedure SetAlwaysDown(const Value: Boolean);
    procedure SetStyle(const Value: TEditButtonStyleEh);
    procedure TimerEvent(Sender: TObject);
    procedure UpdateDownButtonNum(X, Y: Integer);
  protected
    procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
    procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
    procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
    procedure Paint; override;
    property Timer: TTimer read GetTimer;
  public
    procedure Click; override;
    procedure EditButtonDown(TopButton: Boolean; var AutoRepeat: Boolean);
    procedure SetState(NewState: TButtonState; IsActive: Boolean; ButtonNum: Integer);
    procedure SetWidthNoNotify(AWidth: Integer);
    property Active: Boolean read FActive write SetActive;
    property AlwaysDown: Boolean read FAlwaysDown write SetAlwaysDown;
    property Style: TEditButtonStyleEh read FStyle write SetStyle default ebsDropDownEh;
    property OnDown: TButtonDownEventEh read FOnDown write FOnDown;
  end;

  TSpeedButtonEh = class(TEditButtonControlEh)
  published
    property Active;
    property Style;
  end;

  TEditButtonControlLineRec = record
    ButtonLine: TShape;
    EditButtonControl: TEditButtonControlEh;
  end;

  TEditButtonControlList = array of TEditButtonControlLineRec;

  TEditButtonEh = class;

  TEditButtonActionLinkEh = class(TActionLink)
  protected
    FClient: TEditButtonEh;
    procedure AssignClient(AClient: TObject); override;
    function IsEnabledLinked: Boolean; override;
    function IsHintLinked: Boolean; override;
    function IsShortCutLinked: Boolean; override;
    function IsVisibleLinked: Boolean; override;
    procedure SetEnabled(Value: Boolean); override;
    procedure SetHint(const Value: string); override;
    procedure SetShortCut(Value: TShortCut); override;
    procedure SetVisible(Value: Boolean); override;
  end;

  TEditButtonActionLinkEhClass = class of TEditButtonActionLinkEh;

{ TEditButtonEh }

  TEditButtonEh = class(TCollectionItem)
  private
    FActionLink: TEditButtonActionLinkEh;
    FDropdownMenu: TPopupMenu;
    FEditControl: TWinControl;
    FEnabled: Boolean;
    FGlyph: TBitmap;
    FHint: String;
    FNumGlyphs: Integer;
    FOnButtonClick: TButtonClickEventEh;
    FOnButtonDown: TButtonDownEventEh;
    FOnChanged: TNotifyEvent;
    FShortCut: TShortCut;
    FStyle: TEditButtonStyleEh;
    FVisible: Boolean;
    FWidth: Integer;
    function GetAction: TBasicAction;
    function GetGlyph: TBitmap;
    function IsEnabledStored: Boolean;
    function IsHintStored: Boolean;
    function IsShortCutStored: Boolean;
    function IsVisibleStored: Boolean;
    procedure DoActionChange(Sender: TObject);
    procedure SetAction(const Value: TBasicAction);
    procedure SetEnabled(const Value: Boolean);
    procedure SetGlyph(const Value: TBitmap);
    procedure SetHint(const Value: String);
    procedure SetNumGlyphs(Value: Integer);
    procedure SetStyle(const Value: TEditButtonStyleEh);
    procedure SetVisible(const Value: Boolean);
    procedure SetWidth(const Value: Integer);
  protected
    function CreateEditButtonControl: TEditButtonControlEh; virtual;
    procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); dynamic;
    procedure Changed; overload;
    property ActionLink: TEditButtonActionLinkEh read FActionLink write FActionLink;
  public
    constructor Create(Collection: TCollection); overload; override;
    constructor Create(EditControl: TWinControl); reintroduce; overload;
    destructor Destroy; override;
    function GetActionLinkClass: TEditButtonActionLinkEhClass; dynamic;
    procedure Assign(Source: TPersistent); override;
    procedure Click(Sender: TObject; var Handled: Boolean); virtual;
    procedure InitiateAction; virtual;
    property OnChanged: TNotifyEvent read FOnChanged write FOnChanged;
  published
    property Action: TBasicAction read GetAction write SetAction;
    property DropdownMenu: TPopupMenu read FDropdownMenu write FDropdownMenu;
    property Enabled: Boolean read FEnabled write SetEnabled stored IsEnabledStored default True;
    property Glyph: TBitmap read GetGlyph write SetGlyph;
    property Hint: String read FHint write SetHint stored IsHintStored;
    property NumGlyphs: Integer read FNumGlyphs write SetNumGlyphs default 1;
    property ShortCut: TShortCut read FShortCut write FShortCut stored IsShortCutStored default scNone;
    //property ShortCut: TShortCut read FShortCut write FShortCut default 32808; //Menus.ShortCut(VK_DOWN, [ssAlt]);
    property Style: TEditButtonStyleEh read FStyle write SetStyle default ebsDropDownEh;
    property Visible: Boolean read FVisible write SetVisible stored IsVisibleStored default False;
    property Width: Integer read FWidth write SetWidth default 0;
    property OnClick: TButtonClickEventEh read FOnButtonClick write FOnButtonClick;
    property OnDown: TButtonDownEventEh read FOnButtonDown write FOnButtonDown;
  end;

  TEditButtonEhClass = class of TEditButtonEh;

{ TDropDownEditButtonEh }

  TDropDownEditButtonEh = class(TEditButtonEh)
  public
    constructor Create(Collection: TCollection); overload; override;
    constructor Create(EditControl: TWinControl); overload;
  published
    property ShortCut default 32808; //Menus.ShortCut(VK_DOWN, [ssAlt]);
  end;


{ TVisibleEditButtonEh }

  TVisibleEditButtonEh = class(TEditButtonEh)
  public
    constructor Create(Collection: TCollection); overload; override;
    constructor Create(EditControl: TWinControl); overload;
  published
    property ShortCut default 32808; //Menus.ShortCut(VK_DOWN, [ssAlt]);
    property Visible default True;
  end;

{ TEditButtonsEh }

  TEditButtonsEh = class(TCollection)
  private
    FOnChanged: TNotifyEvent;
    function GetEditButton(Index: Integer): TEditButtonEh;
    procedure SetEditButton(Index: Integer; Value: TEditButtonEh);
  protected
    FOwner: TPersistent;
    function GetOwner: TPersistent; override;
    procedure Update(Item: TCollectionItem); override;
  public
    constructor Create(Owner: TPersistent; EditButtonClass: TEditButtonEhClass);
    function Add: TEditButtonEh;
    property Items[Index: Integer]: TEditButtonEh read GetEditButton write SetEditButton; default;
    property OnChanged: TNotifyEvent read FOnChanged write FOnChanged;
  end;

{ TSpecRowEh }

  TSpecRowEh = class(TPersistent)
  private
    FCellsStrings: TStrings;
    FCellsText: String;
    FColor: TColor;
    FFont: TFont;
    FOnChanged: TNotifyEvent;
    FOwner: TPersistent;
    FSelected: Boolean;
    FShortCut: TShortCut;
    FShowIfNotInKeyList: Boolean;
    FUpdateCount: Integer;
    FValue: Variant;
    FVisible: Boolean;
    function GetCellText(Index: Integer): String;
    function GetColor: TColor;
    function GetFont: TFont;
    function IsColorStored: Boolean;
    function IsFontStored: Boolean;
    function IsValueStored: Boolean;
    procedure FontChanged(Sender: TObject);
    procedure SetCellsText(const Value: String);
    procedure SetColor(const Value: TColor);
    procedure SetFont(const Value: TFont);
    procedure SetShowIfNotInKeyList(const Value: Boolean);
    procedure SetValue(const Value: Variant);
    procedure SetVisible(const Value: Boolean);
  protected
    FColorAssigned: Boolean;
    FFontAssigned: Boolean;
    function GetOwner: TPersistent; override;
    procedure Changed;
  public
    constructor Create(Owner: TPersistent);
    destructor Destroy; override;
    function DefaultColor: TColor;
    function DefaultFont: TFont;
    function LocateKey(KeyValue: Variant): Boolean;
    procedure Assign(Source: TPersistent); override;
    procedure BeginUpdate;
    procedure EndUpdate;
    property CellText[Index: Integer]: String read GetCellText;
    property Selected: Boolean read FSelected write FSelected;
    property UpdateCount: Integer read FUpdateCount;
    property OnChanged: TNotifyEvent read FOnChanged write FOnChanged;
  published
    property CellsText: String read FCellsText write SetCellsText;
    property Color: TColor read GetColor write SetColor stored IsColorStored;
    property Font: TFont read GetFont write SetFont stored IsFontStored;
    property ShortCut: TShortCut read FShortCut write FShortCut default 32814; //Menus.ShortCut(VK_DOWN, [ssAlt]);
    property ShowIfNotInKeyList: Boolean read FShowIfNotInKeyList write SetShowIfNotInKeyList default True;
    property Value: Variant read FValue write SetValue stored IsValueStored;
    property Visible: Boolean read FVisible write SetVisible default False;
  end;

{ TSizeGripEh }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久美女艺术照精彩视频福利播放| 亚洲日韩欧美一区二区在线| 午夜精品影院在线观看| 在线观看日韩高清av| 夜夜嗨av一区二区三区网页| 91免费国产在线观看| 亚洲中国最大av网站| 欧美一级一级性生活免费录像| 九一久久久久久| 国产精品久久久久一区| 欧美一区二区高清| 欧美韩国一区二区| 一本久久精品一区二区| 国产精品色眯眯| 精品国产免费一区二区三区四区| aaa欧美色吧激情视频| 欧美美女激情18p| 成人性生交大片免费看中文| 天堂久久一区二区三区| 中文一区二区在线观看| 欧美日韩aaaaaa| 国产91精品免费| 国产精品538一区二区在线| 日韩精品视频网站| 日韩伦理免费电影| 亚洲欧洲日韩女同| 欧美国产日本韩| 国产调教视频一区| 亚洲精品在线观看网站| 欧美一区二区三区播放老司机| 欧美私人免费视频| 国产精品国产三级国产aⅴ入口 | 91精品国产综合久久福利| 欧美综合色免费| 欧美久久一区二区| 日韩精品在线网站| 精品国产精品网麻豆系列| 精品国产乱码91久久久久久网站| 成人午夜视频在线观看| 国产91富婆露脸刺激对白| 丰满亚洲少妇av| 91黄色激情网站| 日本国产一区二区| 欧美高清视频www夜色资源网| 91精品欧美一区二区三区综合在| 91精品国产综合久久婷婷香蕉| 国产精品一区二区你懂的| 麻豆精品在线播放| 狠狠色综合日日| 国产一区二区三区综合| 高清国产午夜精品久久久久久| 在线观看av不卡| 欧美成人精品福利| 欧美一区永久视频免费观看| 悠悠色在线精品| 国内精品久久久久影院薰衣草| 色婷婷综合视频在线观看| 在线观看一区二区视频| 日韩精品欧美精品| 国产福利电影一区二区三区| 在线欧美日韩精品| 26uuu成人网一区二区三区| 成人免费在线视频| 国产一区二区三区免费在线观看| 欧美午夜电影一区| 26uuu国产在线精品一区二区| 亚洲成av人在线观看| 黑人巨大精品欧美一区| 6080午夜不卡| 亚洲另类在线制服丝袜| 成人免费视频视频| 中文字幕第一区第二区| 国产精品香蕉一区二区三区| 欧美一区二区黄| 奇米影视一区二区三区小说| 91精品久久久久久久91蜜桃| 色婷婷综合久久| 亚洲激情自拍偷拍| 91浏览器在线视频| 亚洲女同一区二区| 91网址在线看| 亚洲国产综合人成综合网站| 99国产精品久久久久久久久久久| 国产成人免费视频网站高清观看视频 | 2017欧美狠狠色| 欧美一区欧美二区| 亚洲观看高清完整版在线观看 | 中文字幕佐山爱一区二区免费| 国产精品美女视频| 欧美日韩免费视频| 国产河南妇女毛片精品久久久| 日韩一区中文字幕| 欧美电影免费观看高清完整版在线| 国产成人精品亚洲日本在线桃色| 免费人成黄页网站在线一区二区| 久久综合色8888| 成人免费观看视频| 免费视频最近日韩| 亚洲青青青在线视频| 久久只精品国产| 欧美日韩不卡在线| 国产99久久久久| 国产综合久久久久久久久久久久 | 国产欧美日韩综合| 欧美zozozo| 久久久久国产精品麻豆ai换脸| 欧美亚洲图片小说| 亚洲激情成人在线| 丝袜国产日韩另类美女| 精品裸体舞一区二区三区| 日韩理论电影院| 国产三级一区二区| 精品国产免费久久| 精品日韩一区二区三区| 精品国产区一区| 久久免费视频一区| 欧美一级搡bbbb搡bbbb| 在线电影国产精品| 欧美成人vr18sexvr| 日韩欧美中文字幕精品| 午夜激情久久久| 亚洲自拍欧美精品| 老司机免费视频一区二区| 国产成人免费视频一区| 欧美亚洲丝袜传媒另类| 国产99久久久国产精品潘金| 成人国产精品免费观看视频| 欧美一区二区三区成人| 亚洲狠狠丁香婷婷综合久久久| 夜夜揉揉日日人人青青一国产精品 | 99久久99久久精品免费观看| 日韩久久免费av| 中文字幕av不卡| 黑人巨大精品欧美一区| 欧美激情一区二区三区在线| 国产精品免费视频一区| 亚洲成人综合网站| 国产福利精品一区| 日韩欧美国产综合在线一区二区三区| 国产午夜亚洲精品不卡| 亚洲自拍与偷拍| 色嗨嗨av一区二区三区| 亚洲综合色婷婷| 色噜噜狠狠一区二区三区果冻| 久久综合久久鬼色中文字| 免费久久99精品国产| 欧美一区二区成人6969| 天天色综合成人网| 欧美精品一级二级| 日韩二区三区四区| 久久一夜天堂av一区二区三区| 日韩中文字幕区一区有砖一区| 欧美一区二区三级| 日韩国产精品久久久| 国产精品99久久久久久久vr| 日韩成人一级片| 精品久久国产老人久久综合| 美女www一区二区| 欧美高清在线一区| 91免费观看国产| 日韩精品每日更新| 精品国产欧美一区二区| 99国产精品国产精品毛片| 视频在线观看一区二区三区| 精品不卡在线视频| 成人福利在线看| 亚洲自拍偷拍九九九| 精品不卡在线视频| 91精品国产一区二区三区香蕉| 欧美一区二区精品| 欧美高清dvd| 制服丝袜亚洲精品中文字幕| 在线视频你懂得一区| 国产91丝袜在线播放0| 久久电影网站中文字幕| 日韩不卡一区二区| 亚洲精品v日韩精品| 亚洲伊人伊色伊影伊综合网| 亚洲欧美在线aaa| 国产精品国产三级国产普通话蜜臀 | 久久97超碰国产精品超碰| 一个色综合网站| 亚洲欧洲另类国产综合| 午夜精品福利久久久| 亚洲欧洲www| 亚洲免费毛片网站| 亚洲欧美日韩系列| 亚洲欧洲国产日本综合| 一区二区三区成人| 午夜电影一区二区三区| 激情文学综合丁香| 高清shemale亚洲人妖| 国产伦精品一区二区三区在线观看| 久久国产尿小便嘘嘘| 免费在线观看视频一区| 久久精品国产澳门| 成人av电影在线观看| 欧美综合在线视频| 精品三级在线观看| 国产日产欧美一区|