在DLL中封装的VCL窗体Tab键响应的问题

在DLL中的子窗体不会响应Tab按键的,这个时候就需要手动去指定Tab键的操作,但是前提是主窗体要向这个窗体发送一个消息,一个Tab键按下的消息。基本顺序是这样的:
1. 主窗体用Hook技术捕获Tab按键并向活动子窗体发送一个Tab键按下的消息
2. 子窗体手动定义一个Tab键被按下的处理(需要用到FormKeyDown事件)。
3. 移动到下一个焦点的WinAPI函数:Perform(WM_NEXTDLGCTL,0,0);
4.移动到上一个焦点的函数:Perform(WM_NEXTDLGCTL,1,0)
 
DLL中封装的子窗体代码:
Code
 
主窗体的Hook代码:
Code
 
Code
 
Code
 
Code
posted @ 2009-03-26 00:14  Lenic  阅读(1030)  评论(2编辑  收藏  举报