delphi中enter键代替tab键用了很多种代码都不行
在登陆窗口中的edit和botton控件切换,不是TDBGid中.我用了以下几种代码都不行(我的keypreview设为true了的):1.在控件的keypress事件中...
在登陆窗口中的edit和botton控件切换,不是TDBGid中.我用了以下几种代码都不行(我的keypreview设为true了的):
1.在控件的keypress事件中加入
if key=#13 then
postmessage(self.handle,wm_keydown,vk_tab,0);
2.formKeyDown事件,
if key = #13 then
SelectNext(ActiveControl, True, True);
3.form.keydown事件
if key=#13 then
postmessage(handle,wm_nextdlgctl,0,0);
4. keypress事件
begin
if key=#13 then
perform(WM_NEXTDLGCTL,0,0);
end;
5.keypress事件
if key=#13 then
postmessage(self.handle,wm_keydown,vk_tab,0);
6.keydown事件
if ( Key == VK_RETURN )
keybd_event(VK_TAB,0x0ff,0,0);
以上代码编译都没出错,但是运行却没有应有的效果.该登陆窗口其他功能都正常.
请各位大虾帮帮忙~ 展开
1.在控件的keypress事件中加入
if key=#13 then
postmessage(self.handle,wm_keydown,vk_tab,0);
2.formKeyDown事件,
if key = #13 then
SelectNext(ActiveControl, True, True);
3.form.keydown事件
if key=#13 then
postmessage(handle,wm_nextdlgctl,0,0);
4. keypress事件
begin
if key=#13 then
perform(WM_NEXTDLGCTL,0,0);
end;
5.keypress事件
if key=#13 then
postmessage(self.handle,wm_keydown,vk_tab,0);
6.keydown事件
if ( Key == VK_RETURN )
keybd_event(VK_TAB,0x0ff,0,0);
以上代码编译都没出错,但是运行却没有应有的效果.该登陆窗口其他功能都正常.
请各位大虾帮帮忙~ 展开
2个回答
展开全部
经过测试你所用的方法都可以实现:
其中所有的KeyDown事件里面应该用如下判断:
if Key = VK_RETURN then
...
所有的KeyPress事件里面应该用如下判断:
if Key = #13 then
...
postmessage(self.handle,wm_keydown,vk_tab,0);
keybd_event(VK_TAB,2,0,0);
perform(WM_NEXTDLGCTL,0,0);
SelectNext(ActiveControl, True, True);
...
但是显然用回车代码TAB显然不适合于BUTTON,你在它上面按回车的时候它会执行OnClick,所以不会TAB,你可以用别的键代替回车。
其中所有的KeyDown事件里面应该用如下判断:
if Key = VK_RETURN then
...
所有的KeyPress事件里面应该用如下判断:
if Key = #13 then
...
postmessage(self.handle,wm_keydown,vk_tab,0);
keybd_event(VK_TAB,2,0,0);
perform(WM_NEXTDLGCTL,0,0);
SelectNext(ActiveControl, True, True);
...
但是显然用回车代码TAB显然不适合于BUTTON,你在它上面按回车的时候它会执行OnClick,所以不会TAB,你可以用别的键代替回车。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询