setfocus/getfocus的用法(60分)

  • 主题发起人 主题发起人 qlw
  • 开始时间 开始时间
Q

qlw

Unregistered / Unconfirmed
GUEST, unregistred user!
请看如下代码,我想在按下button后,输入焦点从edit1转到edit2,但是
好象不行。两个edit都没有了焦点
procedure TForm1.Button1Click(Sender: TObject);
var hh:hwnd;
begin
hh:=getfocus;
if hh=edit1.handle then
windows.SetFocus(edit2.handle);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
hh:hwnd;

begin
hh:=GetFocus;
if (hh=Edit1.Handle) then
Windows.SetFocus(Edit2.Handle)
else
Windows.SetFocus(Edit1.Handle);
end;

你首先要确定焦点在Edit1上
 
好象不行
edit2总是无法获得焦点
 
试试MouseUp事件
 
procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.SetFocus ;
edit2.SelStart :=0;
edit2.SelLength :=0;
end;
 
用edit的setfocus方法显然是可以的
我还想知道我上面的代码为什么出错?
 
因为你点击BUTTON时,FOCUS已转移到BUTTON上了。
你试试:
hh:=getfocus;
if hh=Button1.handle then
windows.SetFocus(edit2.handle);
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
791
import
I
I
回复
0
查看
678
import
I
I
回复
0
查看
777
import
I
I
回复
0
查看
563
import
I
后退
顶部