封装 TMemo、TDBMemo 控件(支持 Ctrl+A 全选功能)解决方案

封装 TMemo、TDBMemo 控件(支持 Ctrl+A 全选功能)
封装   TMemo、TDBMemo   控件(支持   Ctrl+A   全选功能)

在KeyDown事件中
if   (Key   =   65)   and   (Shift   =   [ssCtrl])   then  
    (Sender   as   TCustomMemo).SelectAll;

这个是最基本的,小弟搞了快1年delphi了,
第一次要封装控件。

大家给点提示或者代码,谢谢!


------解决方案--------------------
拦截他的WM_KEYDOWN就行了!
------解决方案--------------------
unit MemoExU;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TMemoEx = class(TMemo)
private

protected
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
public
{ Public declarations }
published
{ Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents( 'Samples ', [TMemoEx]);
end;

{ TMemoEx }


{ TMemoEx }

procedure TMemoEx.KeyDown(var Key: Word; Shift: TShiftState);
begin
inherited;
if (Key = 65) and (Shift = [ssCtrl]) then SelectAll;
end;

end.

这样试试!