有关焦点转移问题!

kk_liwei 2002-07-17 08:00:15
遇到一个有趣的问题:
在窗体上定义两个TEdit,在Edit1的焦点转移事件里写如下的代码,运行程序,按TAB键,焦点并没跳转到Edit2上。大家看看为什么啊?
void __fastcall TForm1::Edit1Exit(TObject *Sender)
{
MessageBox(NULL,"kk","zz",MB_OK);
Edit2->SetFocus();
}
...全文
119 43 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
whitetiger8 2002-07-19
  • 打赏
  • 举报
回复
我试过了,在DELPHI6中并没有此问题的存在,大家不用研究了,这是CB5中的一个BUG!!!!想解决可得要高深的水平了。
pcclever 2002-07-19
  • 打赏
  • 举报
回复
void __fastcall TForm1::Edit1Exit(TObject *Sender)
{
MessageBox(NULL,"kk","zz",MB_OK);//放到下面
Edit2->SetFocus();//换到上面
}

把两行代码换个位置就可啦,何必呢?
borland_boy 2002-07-19
  • 打赏
  • 举报
回复
关注
whitetiger8 2002-07-19
  • 打赏
  • 举报
回复
不客气:)
kk_liwei 2002-07-19
  • 打赏
  • 举报
回复
呵呵,不好意思,现在才有时间上来,谢谢白虎和各位兄弟的参与,我也认为是CB的BUG,待我再试试,大家也帮忙试试。今天晚上或明天结帖!
kk_liwei 2002-07-19
  • 打赏
  • 举报
回复
呵呵,不好意思,现在才有时间上来,谢谢白虎和各位兄弟的参与,我也认为是CB的BUG,待我再试试,大家也帮忙试试。今天晚上或明天结帖!
kk_liwei 2002-07-18
  • 打赏
  • 举报
回复
to talisman(talisman):
你的方法不行,我早就试过了!
talisman 2002-07-18
  • 打赏
  • 举报
回复
把MessageBox换成Applicaiton->MessageBox("kk","zz",MB_OK);
kk_liwei 2002-07-18
  • 打赏
  • 举报
回复
to ljlln(阿明):
没明白你的意思。
ljlln 2002-07-18
  • 打赏
  • 举报
回复
void __fastcall TForm1::Edit1Exit(TObject *Sender)
{
MessageBox(NULL,"kk","zz",MB_OK);
Edit2->SetFocus();
}

MessageBox(NULL,"kk","zz",MB_OK);有问题!
kk_liwei 2002-07-18
  • 打赏
  • 举报
回复
to wxcwuxuchun(清风):
我也是试了各种方法,光标无法跳转,有点疑惑,所以才发的帖子。我也认为焦点已到Edit2上,正如 niu_zai(牛仔) 所说,可以输入字符。因为你虽然看不到标,但你将程序最小化后,再恢复标准窗口,你可以看到光标已到Edit2上,其实,这个问题应是光标的问题,没说清楚。
wxcwuxuchun 2002-07-18
  • 打赏
  • 举报
回复
我试验了很久,用这段代码,无论如何,不可能使光标显示在tab顺序时下一个的edit控件中,但是如果tab顺序有间隔的话,就一切正常了!
wxcwuxuchun 2002-07-18
  • 打赏
  • 举报
回复
如果你有三个Edit,设置tab顺序edit1,edit2,edit3,
MessageBox(Handle,"kk","zz",MB_OK);
Edit3->SetFocus();
焦点会在edit3上,而且显示正确!
choora 2002-07-18
  • 打赏
  • 举报
回复
BCB是最好的
向各位同道中人致敬
有空应该聚聚,一起讨论讨论
whitetiger8 2002-07-18
  • 打赏
  • 举报
回复
大家多交流,多见面,共同进步,这里实在太好了555 ̄~~~
whitetiger8 2002-07-18
  • 打赏
  • 举报
回复
to :ilikeff8(迷茫) 我感觉你说的对啊。呵呵,关键是怎么解决的问题了。

TO :kk_liwei(无从) 大家共同研究:)
niu_zai 2002-07-18
  • 打赏
  • 举报
回复
实际上是焦点已经在TEdit2上,但是在调用MessageBox时,窗口的光标被隐藏了,所以看不到闪烁的光标,但是能够在里面输入字符.
ilikeff8 2002-07-18
  • 打赏
  • 举报
回复
如果能捕获tab键的话,TabStop=false 在OnkeyDown里人为的转到Edit2上不知可不可以
kk_liwei 2002-07-18
  • 打赏
  • 举报
回复
呵呵,谢谢 whitetiger8(白虎) 的热心参与!
ilikeff8 2002-07-18
  • 打赏
  • 举报
回复
如果能捕获tab键的话,TabStop=false 在OnkeyDown里人为的转到Edit2上不知可不可以
加载更多回复(23)

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧