3

我需要创建一个 Win32 应用程序。我正在使用视觉工作室。我真的很喜欢在 Windows 窗体中设计我的应用程序,它允许以图形方式设计我的窗口。

但是,我不能(仅)使用 Windows 窗体。我必须使用 Win32 应用程序。现在,当我创建 Win32 应用程序时,我无法以图形方式设计我的窗口。

有没有办法将 Windows 窗体合并到 Win32 应用程序中?还是图形化设计Win32窗口?

(如果有一种方法可以以图形方式设计Win32 应用程序 GUI,而只有我想不通,我将不胜感激资源或方法。)

4

1 回答 1

3

在 Win32 应用程序中,您可以包含一个对话框资源,该资源包含特定窗口的控件和布局信息。与许多其他 Win32 资源编辑应用程序一样,Visual Studio 包括一个图形对话框资源编辑器。这将有点类似于您习惯使用 WinForms 设计器的方式,尽管有一些限制。Win32 是一种比 WinForms 更古老的技术,并且在设计时并未真正考虑到 RAD(快速应用程序开发)原则。

当您在 Visual Studio 中基于模板创建新的 Win32 项目时,您已经获得了为您创建的一个对话框资源:关于框。如果您在解决方案资源管理器中双击“ProjectName.rc”文件,然后展开“Dialog”资源文件夹,您会看到它。双击它将弹出该对话框窗口的对话框编辑器。您可以使用熟悉的工具箱窗口添加控件,并使用熟悉的属性窗口自定义它们。

   

当然,您仍然需要编写显示对话框窗口的代码。这样做有两种基本方法:

  • DialogBox函数将以模态方式显示对话框,这意味着用户必须先关闭对话框,然后才能与应用程序的其余部分进行交互。对用户来说不方便,但对程序员来说却很方便,因为 Windows 会为您运行对话框的消息循环。

  • CreateDialog函数将显示一个普通(非模态)对话框,但要求您为对话框窗口编写自己的消息循环,就像为普通非对话框窗口编写的一样。

您可以通过为每个窗口添加单独的对话框资源来为您的应用程序设计所有窗口,但这不一定是一个好主意。学习一个新的 UI 框架的一部分是学习如何按照它的预期使用方式使用该框架。在运行时通过代码创建控件并设置它们的属性并不是那么困难,而且比将自己限制在固定布局中要强大得多。(事实上​​,即使您有一个具有固定布局的对话框资源,您也经常希望编写类似的代码以允许在运行时自定义这些控件。)

于 2013-08-20T08:07:26.797 回答