|

楼主 |
发表于 2010-8-2 12:59:22
|
显示全部楼层
本帖最后由 tonwelzt 于 2010-8-2 14:34 编辑
我是通过:
GetPanelAttribute (parentPanel, ATTR_SYSTEM_WINDOW_HANDLE, &parent);
GetPanelAttribute (childPanel, ATTR_SYSTEM_WINDOW_HANDLE, &child);
GetPanelAttribute (grandsonPanel, ATTR_SYSTEM_WINDOW_HANDLE,
&grandson);
SetParent((HWND)child, (HWND)parent);
SetParent((HWND)grandson, (HWND)child);
来定义了一个三级的界面:父面板、子面板、子孙面板.
问题中实地上是子孙面板在"最小化"以后无法识别"还原"操作的.
按照您说的,我在子孙面板最小化的时候加上标志.如果我把子孙面板最小化,然后接着再还原,在父面板的"LOST_FOCUS"事件中利用子孙面板的最小化标志就可以识别子孙面板被还原.
但是,如果我把子孙面板最小化,不直接点还原,而是点一下子面板,然后再还原,就又不能识别子孙面板被还原了.这样我就必须在每一次的焦点转移时都要判断.多个面板的话,在"GOT_FOCUS"中还要判断焦点是从那个面板传递过来的,在"LOST_FOCUS"中还要判断焦点传递给了谁.
最重要的是,我发现, 在"还原"子孙面板的时候,子孙面板的回调函数并没有执行? 还请再多多指点,进一步的我改怎么做?
|
|