: 如题:以下是实现代码:
PostMessage(Frmsetdetail.Handle,WM_KEYDOWN,VK_TAB,0);
我想判断下一个tab所得到的焦点控件是否为Tedit,如果是
加入这句就是edit.SelectAll
可以实现嘛?如何判断?
PostMessage(Frmsetdetail.Handle,WM_KEYDOWN,VK_TAB,0);
我想判断下一个tab所得到的焦点控件是否为Tedit,如果是
加入这句就是edit.SelectAll
可以实现嘛?如何判断?
你怎么不用,sendmessage()呢?
GetActiveWindow
例如:我的窗口中有三个edit1,edit2,edit3,taborder分别为0,2,3,一个combobox1,taborder分别为1,如果我此时的焦点在combobox1上,那么我回车完后,焦点应该跑到edit2上,但是事与愿违,它直接跑道edit3上了,给位有过此经历嘛?
procedure TFrmsetdetail.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
PostMessage(Frmsetdetail.Handle,WM_KEYDOWN,VK_TAB,0);
if Frmsetdetail.ActiveControl is TEdit then
(Frmsetdetail.ActiveControl as TEdit).SelectAll
else
Exit;
end;
end;