用page键代替tab键控制控件焦点 ( 积分: 200 )

  • 主题发起人 主题发起人 yuerzhang
  • 开始时间 开始时间
Y

yuerzhang

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做一个程序,用pagedown键代替tab键来控制焦点的移动,由于我用的tflatbutton上没有onkeypress事件,所以请各位高手指点,多谢了
 
你把form的keypreview属性设置成true ,是不是可以利用form的onkeypress事件?这样你只需要记录当前输入焦点所在控件,就可以实现用pagedown键代替tab键来控制焦点的移动了吧。
 
unit Unit1;

interface

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

type
TForm1 = class(TForm)
SpeedButton1: TSpeedButton;
Edit1: TEdit;
Edit2: TEdit;
procedure FormCreate(Sender: TObject);
private
procedure DoEnterAsTab(Var Msg: TMsg; Var Handled: Boolean);
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DoEnterAsTab(Var Msg: TMsg; Var Handled: Boolean);
Begin
If Msg.Message = WM_KeyDown Then
If Msg.wParam = 34 Then
Keybd_event(VK_TAB,0, 0, 0);
End;


procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := DoEnterAsTab;
end;

end.
 
后退
顶部