怎样让Lable响应键盘上的键?(5分)

  • 主题发起人 主题发起人 watt
  • 开始时间 开始时间
W

watt

Unregistered / Unconfirmed
GUEST, unregistred user!
我的Form窗体上有一个Lable,我想让它相应键盘上向下(即大键盘和小键盘之间不是有一个向上下左右的组合键吗?我要的就是那个向下的键)的那个键,有没有什么好的方法可以实现这一功能?请高手帮忙
如果有办法让Lable响应'N'键的话,那也行
 
TLable不是从WinControl继承下来的,没有handle,不吃焦点,也没KeyDown事件.
用别的控件吧
unit Unit1;

interface

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

type
TMyStaticText = class(TStaticText)
public
property OnKeyDown;
end;
TForm1 = class(TForm)
procedure FStaticText1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
private
FStaticText1: TMyStaticText;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FStaticText1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
ShowMessage('KeyDown');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FStaticText1 := TMyStaticText.Create(Self);
FStaticText1.Caption := 'fffffffff';
FStaticText1.Parent := Self;
FStaticText1.TabStop := True;
FStaticText1.Top := 100;
FStaticText1.Left := 100;

FStaticText1.OnKeyDown := FStaticText1KeyDown;
end;

end.
 
label的 caption 加个快捷键,比如"文件(&F)" 就能响应如"N"键了
 
同意楼上的,微软的软件就是这么做的。
 
后退
顶部