【问题标题】:MFC: Is it possible to modify the dialog style at run time? PinMFC:是否可以在运行时修改对话框样式?别针
【发布时间】:2012-07-26 15:22:23
【问题描述】:

我创建了一个对话框模板资源,在对话框编辑器中我设置了 WS_POPUP 属性。

用模板资源生成模态对话框就可以了。

这是我的问题:我想将其样式从 WS_POPUP 更改为 WS_CHILD,因为我想在属性页 (CPropertySheet) 中生成对话框。

我尝试了很多方法。使用 ModifyStyle 或 SetWindowLong 更改 OnInitDialog、OnCreate、PreCreateWindow、PreSubclassWindow 中的对话框 不工作。

现在我想知道是否可以使用相同的资源生成对话框并修改样式。

另外,http://www.codeproject.com/Articles/13133/Modifying-a-modal-dialog-s-style-and-position-at-r 中的方法列表也不起作用。

任何帮助将不胜感激!

【问题讨论】:

  • 你想在这里实现什么?您是否尝试对属性页和独立对话框使用相同的对话框模板?
  • 是的。但我做不到。
  • 您需要复制模板,然后在副本中编辑样式。
  • OnInitDialog() 中,您可能需要删除一些样式,并添加您想要的样式。我在这里找到了一个有用的讨论:social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/…

标签: windows winapi mfc


【解决方案1】:

我认为如果将对话框模板设置为 WS_CHILD,它既可以用作子对话框,也可以用作弹出对话框。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 2017-04-26
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    相关资源
    最近更新 更多