【发布时间】:2012-02-16 16:22:34
【问题描述】:
我正在尝试在我的 win32 窗口中实现自定义选项卡控件,因为我使用了一个分层窗口,它是主应用程序窗口(用于主选项卡控件)的子窗口,以及用于单个选项卡项的独立窗口。
我的问题:每当我移动主应用程序窗口时,控制窗口都会随之移动(因为它是子窗口),其中各个选项卡项窗口保持在其位置。谁能指导我如何让标签项窗口与主应用程序窗口同时移动?我无法将项目窗口设置为应用的子窗口,因此请基于此提出您的建议。
【问题讨论】:
我正在尝试在我的 win32 窗口中实现自定义选项卡控件,因为我使用了一个分层窗口,它是主应用程序窗口(用于主选项卡控件)的子窗口,以及用于单个选项卡项的独立窗口。
我的问题:每当我移动主应用程序窗口时,控制窗口都会随之移动(因为它是子窗口),其中各个选项卡项窗口保持在其位置。谁能指导我如何让标签项窗口与主应用程序窗口同时移动?我无法将项目窗口设置为应用的子窗口,因此请基于此提出您的建议。
【问题讨论】:
您应该将标签重新设计为子窗口。否则,你试图让它发挥作用只不过是绝望地尝试修复最初被弄坏的东西。
如果您仍然想坚持原来的计划,您需要挂钩/子类主应用程序窗口并处理其移动和调整消息(WM_MOVING 和朋友),以便您的处理程序可以分别更新您的弹出/选项卡窗口位置.
【讨论】:
WndProc,每个窗口都有它,并且拥有一个句柄就足以通过SetWindowLong 和GWL_WNDPROC 进行子类化。如果您愿意走错路,那仍然是您的选择。