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

📄 mycombobox.pas

📁 本图书管理系统一sql server为数据库开发平台
💻 PAS
字号:
unit MyComboBox;

interface

uses
  SysUtils, Classes, windows,Controls, StdCtrls,messages;

type
  TMyComboBox = class(TCustomComboBox)
  private
    { Private declarations }
  protected
  procedure KeyPress(var Message: TWMChar); message WM_Char;
    { Protected declarations }
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    { Public declarations }
  published
    property AutoComplete default True;
    property AutoDropDown default False;
    property AutoCloseUp default False;
    property BevelEdges;
    property BevelInner;
    property BevelKind default bkNone;
    property BevelOuter;
    property Style; {Must be published before Items}
    property Anchors;
    property BiDiMode;
    property CharCase;
    property Color;
    property Constraints;
    property Ctl3D;
    property DragCursor;
    property DragKind;
    property DragMode;
    property DropDownCount;
    property Enabled;
    property Font;
    property ImeMode;
    property ImeName;
    property ItemHeight;
    property ItemIndex default -1;
    property MaxLength;
    property ParentBiDiMode;
    property ParentColor;
    property ParentCtl3D;
    property ParentFont;
    property ParentShowHint;
    property PopupMenu;
    property ShowHint;
    property Sorted;
    property TabOrder;
    property TabStop;
    property Text;
    property Visible;
    property OnChange;
    property OnClick;
    property OnCloseUp;
    property OnContextPopup;
    property OnDblClick;
    property OnDragDrop;
    property OnDragOver;
    property OnDrawItem;
    property OnDropDown;
    property OnEndDock;
    property OnEndDrag;
    property OnEnter;
    property OnExit;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
    property OnMeasureItem;
    property OnSelect;
    property OnStartDock;
    property OnStartDrag;
    property Items; { Must be published after OnMeasureItem }
    { Published declarations }
  end;

procedure Register;

implementation

constructor TmyComboBox.Create(AOwner: TComponent);
begin
  inherited Create(Aowner);
end;

procedure TmyComboBox.KeyPress(var Message: TWMChar);
var
 ItemNum:Integer;
 s:char;
 savetext:string;
begin
    self.DropDown;
 itemNum:=-1;
 //inherited;
 ItemNum:=sendmessage(ListHandle,CB_FINDSTRING,-1,integer(Text));
 sendmessage(listhandle,CB_SETTOPINDEX,Wparam(ItemNum),0);
 savetext:=self.Items.Strings[itemNum];
 s:=char(message.KeyData);
 if (char(message.KeyData) = #13) then
   begin
     SendMessage(Handle, CB_SETCURSEL, ItemNum, 0);
   end;
self.Text:=savetext;
self.Update;
onkeypress(self,s);
end;

destructor Tmycombobox.Destroy;
begin
  inherited Destroy;
end;

procedure Register;
begin
  RegisterComponents('Terry', [TMyComboBox]);
end;

end.

⌨️ 快捷键说明

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