首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

如何样判断焦点在PANEL上

2012-02-11 
怎么样判断焦点在PANEL上比如程序里有个PANEL鼠标点击后,PANEL上我会画个红边,我用勾子截获所有滚轮事件,

怎么样判断焦点在PANEL上
比如程序里有个PANEL鼠标点击后,PANEL上我会画个红边,我用勾子截获所有滚轮事件,如果焦点在PANEL上会做一些事情,现在如果我在SHOW另外一个界面,焦点就应该不在PANEL上了,此时滚轮就不应该好用了,我用PANEL->Focused来判断焦点是否在这里,似乎不好用,请问按照我这样的逻辑,我怎么处理才好呢,谢谢.

[解决办法]
假设PANEL所在的窗体为InputForm

C/C++ code
HWND hWnd;    hWnd = GetForegroundWindow();       // 得到当前激活窗口    if(hWnd!=InputForm->Handle) // 如果不是PANEL所在的窗体InputForm    {              进行鼠标事件响应              ... ...            //SetForegroundWindow(InputForm);//设置PANEL所在的窗体InputForm为最顶层窗体                //InputForm->PANEL->SetFocus();//设置焦点    } 

热点排行