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);

以上代码编译都没出错,但是运行却没有应有的效果.该登陆窗口其他功能都正常.
请各位大虾帮帮忙~
展开
 我来答
快乐居家美食
2007-01-20 · TA获得超过1944个赞
知道大有可为答主
回答量:2392
采纳率:100%
帮助的人:1583万
展开全部
经过测试你所用的方法都可以实现:
其中所有的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,你可以用别的键代替回车。
562236504
2007-01-20
知道答主
回答量:90
采纳率:0%
帮助的人:0
展开全部
I don't know.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式