关于更改对话框类型的问题(WS_CHILD, WS_OVERLAPPED, WS_POPUP)
目的:对话框A_Dlg,可能被B_Dlg创建为子对话框(WS_CHILD),也可能C_Dlg创建为弹出对话框(WS_POPUP)
环境:VS2013
步骤:1.设置对话框A_Dlg的初始类型设为child(直接在VS里改资源属性),供B_Dlg使用。
2.A_Dlg在PreSubclassWindow()更改代码:ModifyStyle(WS_CHILD | WS_OVERLAPPED, WS_POPUP);供C_Dlg使用。
现象:步骤2根本进不到PreSubclassWindow(),启动直接崩溃(_tWinMain函数)。如何更改对话框类型呢?
谢谢!
参考:
http://blog.csdn.net/lixiang987654321/article/details/25829153
http://bbs.csdn.net/topics/370152191
...全文
相关推荐
mfc 窗口分析 popup ,overlap,child
它们通常具有WS_OVERLAPPED风格,可以与其他窗口重叠或堆叠。这种类型的窗口可以自由移动和调整大小,同时支持透明度和alpha通道效果。
在Popup和Child窗口之间转化(43KB)
窗口属性:研究如何通过修改窗口风格(WS_POPUP, WS_CHILD等)来改变窗口类型。5. 窗口消息处理:理解消息循环和消息映射表,以及如何响应特定的消息来控制窗口的行为。6.
窗口之间的主从关系及Z-Order.doc
首先,窗口类型分为三种:层叠窗口(Overlapped Window)、弹出窗口(Popup Window)和子窗口(Child Window)。
VC参数类型
**WS_CAPTION**: - **含义**:窗口具有标题栏。 - **应用场景**:适用于所有需要标题栏的窗口。7. **WS_CHILD**: - **含义**:窗口是一个子窗口。
Windows Style
值得注意的是,WS_CHILD与WS_POPUP风格不能同时使用。#### WS_CHILDWINDOW等同于WS_CHILD,用于表明窗口是另一个窗口的子窗口。


