S
siso
Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.FormKeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
begin
if char(key)=#97 then
begin
button1.SetFocus;
button1click(sender);
小键盘数字键1
end;
end;
上面的为按小键盘对应数字键所对应的执行语句,为了看出按的是哪个键,所以每次先用setfocus
语句来取得焦点,即按数字键1就焦点跑到界面上1对应的button1,并执行相应的语句,按2就焦点定位到界面上的button2.
可是当焦点在数字键例如button1时,当按小键盘的Enter(本意是作为等于号计算结果时)时,
procedure TForm1.FormKeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
begin
if char(key)=#13 then
begin
button12.setfocus //button12为等于号,并没有取得焦点
end;
end;
此时由于焦点定位在button1上,按回车时并没有使button12即等于号取得焦点,而是变成在button1上再次执行了。
请问该如何解决,已经设数字键button的default为false,而回车是还是执行了该按键,而没有使button12取得焦点。
后来在csdn得到了一些回答,可总是不能成功! 具体请看:
http://community.csdn.net/expert/Topicview2.asp?id=4123293
谢谢了!
var Key: Word;
Shift: TShiftState);
begin
if char(key)=#97 then
begin
button1.SetFocus;
button1click(sender);
小键盘数字键1
end;
end;
上面的为按小键盘对应数字键所对应的执行语句,为了看出按的是哪个键,所以每次先用setfocus
语句来取得焦点,即按数字键1就焦点跑到界面上1对应的button1,并执行相应的语句,按2就焦点定位到界面上的button2.
可是当焦点在数字键例如button1时,当按小键盘的Enter(本意是作为等于号计算结果时)时,
procedure TForm1.FormKeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
begin
if char(key)=#13 then
begin
button12.setfocus //button12为等于号,并没有取得焦点
end;
end;
此时由于焦点定位在button1上,按回车时并没有使button12即等于号取得焦点,而是变成在button1上再次执行了。
请问该如何解决,已经设数字键button的default为false,而回车是还是执行了该按键,而没有使button12取得焦点。
后来在csdn得到了一些回答,可总是不能成功! 具体请看:
http://community.csdn.net/expert/Topicview2.asp?id=4123293
谢谢了!