【问题标题】:Convert resource dialog form to source code将资源对话框表单转换为源代码
【发布时间】:2013-12-14 22:17:46
【问题描述】:

是否有某种自动化方法可以将声明性.rc 对话框定义格式(及其内容)转换为源代码的 sn-ps,这些源代码调用像 CreateWindow 这样的运行时 API 以创建具有相同布局和内容的对话框?最好是在 Visual Studio 中?

【问题讨论】:

    标签: visual-studio winapi visual-c++ user-interface


    【解决方案1】:

    对话框资源不生成代码。它们被传递给 CreateDialogIndirect 和类似的 API,它们解释 DLGTEMPLATE 并构造调用 CreateWindow 的单独控件。

    没有工具可以将对话资源脚本转换为冗余的CreateWindow 调用序列。 DLGTEMPLATE 的唯一用途是传递给 CreateDialogIndirect

    【讨论】:

    • 如果使用 VS 开发 Win32 本机应用程序,为什么调用 CreateWindow 命令序列是多余的?
    • @RawN 这是多余的代码,因为CreateDialogIndirect 已经实现了你想要的所有功能。还有一些你甚至不知道的,即相对于正在使用的对话框字体缩放对话框。
    • 好的,谢谢。我的原始问题已被编辑。我的意图是使用对话框作为主窗口,我在设计器中设计 about 框并以某种方式将其转换为一系列 CreateWindow 调用并将其放入 WM_CREATE 消息中,但我认为这是不可能的。跨度>
    • @RawN 没有什么可以阻止对话框成为应用程序的主窗口。无需为您的主窗口调用CreateWindow,您只需调用CreateDialog 并调整您的窗口过程实现以符合DialogProc。我根本不明白WM_CREATE 是如何参与其中的。
    • 啊,谢谢伙计!这就是我想要的。这种方法是否被认为是不好的做法?
    猜你喜欢
    • 1970-01-01
    • 2017-09-14
    • 2019-11-30
    • 2010-09-17
    • 1970-01-01
    • 2019-01-16
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多