??请教!为什么一个Form以Panel为ParentWindow就捕获不了键盘,聚焦不对啊!改如何解决??盼释疑

senkey 2001-07-19 01:41:39
...全文
64 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
senkey 2001-07-19
  • 打赏
  • 举报
回复
不行啊,我可不能针对每个都写上一堆
有没有好一点的方法

我试了普通的Form在Panel上没有问题,我是调用了一个DLL里的Form
我原来问的有可能不清楚
wjzhuang 2001-07-19
  • 打赏
  • 举报
回复
panel是无焦点控件。
但是在上面的控件也可以获得
使用SetFocus()
比如下面的情况:(来自我的一个问题:http://www.csdn.net/expert/topic/96/96517.shtm
在你的dbctrlgrid的onkeydown事件中加入下面的代码:
if(Key==VK_RETURN)
{
Key=0;
DBEdit1->SetFocus();//DBEdit1为你在dbctrlgrid上放置的第一个DBEdit控件。
}
然后在你各DBEdit的onkeydown事件中加入如下代码:
if(Key==VK_RETURN)
{
DBEdit2->SetFocus();//具体是哪个DBEdit可以根据你的具体要求决定。
}
假如你要在DBEdit1中,按回车将焦点切换到DBEdit2的话就只要在DBEdit1的onkeydown中加入代码为:
if(Key==VK_RETURN)
{
DBEdit2->SetFocus();//其他的可以依此类推了。
}

jearry_zhou 2001-07-19
  • 打赏
  • 举报
回复
判断鼠标位置,根据情况调用Form中控件的SetFocus.
senkey 2001-07-19
  • 打赏
  • 举报
回复
这样贴上去看起来整齐啊

有好多DLL要贴上去的
iamfancy 2001-07-19
  • 打赏
  • 举报
回复
不太清楚,关注。
为什么你要以一个 Panel 为 ParentWindow 呢?

13,825

社区成员

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

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