【问题标题】:How can I use a resource file (*.rc) to style a dialog-based application如何使用资源文件 (*.rc) 设置基于对话框的应用程序的样式
【发布时间】:2011-09-19 04:03:41
【问题描述】:

如何使用资源文件 (*.rc) 设置基于对话框的应用程序的样式?

我可以使用CreateWindowCreateWindowEx 来创建应用程序的主窗口。而CreateWindowCreateWindowEx 的一些参数定义了对话框的样式。但是我想使用资源文件(*.rc)而不是通过将样式参数传递给函数的方式来设置它的样式。

谁能给我一些sn-ps?

有人说我可以调用DialogBox,并给第二个参数样式模板。这会在CreateWindow 和 *.rc 文件之间产生冲突吗?或者我可以同时使用它们吗?

【问题讨论】:

    标签: windows winapi rc createwindow


    【解决方案1】:

    使用CreateDialog。它处理包装对 CreateWindowEx 的调用以及在需要时发布 WM_INITDLG 和 WM_SETFONT 消息。从 MSDN 上的文档链接有一个 example

    您可以在DialogEx 的文档中获取有关资源文件内容的信息。

    【讨论】:

      【解决方案2】:

      启动一个新的 Win32 项目并让它自动生成代码。将 WinMain 函数更改为如下所示:

      int APIENTRY _tWinMain(HINSTANCE hInstance,
                           HINSTANCE hPrevInstance,
                           LPTSTR    lpCmdLine,
                           int       nCmdShow)
      {
      
          UNREFERENCED_PARAMETER(hPrevInstance);
          UNREFERENCED_PARAMETER(lpCmdLine);
      
          DialogBox(hInstance, MAKEINTRESOURCE(IDD_ABOUTBOX), NULL, About);
          return 0;
      }
      

      您可能希望在 WM_INITDIALOG 消息处理程序中添加对 MoveWindow() 的调用,以将窗口移动到屏幕上更好的位置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-12
        相关资源
        最近更新 更多