在Win32应用程序中使用Windows窗体

我需要创build一个Win32应用程序。 我正在使用visual studio。 我真的很喜欢在Windows窗体中devise我的应用程序,它允许以graphics方式devise我的窗口。

但是,我不能使用Windows窗体(仅)。 我必须使用Win32应用程序。 现在,当我创buildWin32应用程序时,我无法用graphicsdevise我的窗口。

有没有办法将Win32应用程序中的Windows窗体? 还是graphicsdevise的Win32窗口?

(如果有graphics化devise Win32应用程序GUI的方法,只是我无法想象它,我将不胜感激资源或方法。)

Solutions Collecting From Web of "在Win32应用程序中使用Windows窗体"

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

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

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

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

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

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