我需要创建一个Win32应用程序。我正在使用visual studio。我非常喜欢在Windows窗体中设计我的应用程序,它允许以图形方式设计我的窗口。
但是,我不能使用Windows Form(仅限)。我必须使用Win32应用程序。现在,当我创建Win32应用程序时,我无法用图形设计我的窗口。
有没有办法在Win32应用程序中合并Windows窗体?或以图形方式设计Win32窗口?
(如果有一种方法以图形方式设计 Win32应用程序GUI,而我只是无法理解它,我会很感激资源或方法。)
答案 0 :(得分:3)
在Win32应用程序中,您可以包含一个对话框资源,其中包含特定窗口的控件和布局信息。与许多其他Win32资源编辑应用程序一样,Visual Studio包含图形对话框资源编辑器。这有点类似于你习惯使用的WinForms设计器,尽管有一些限制。 Win32是一种比WinForms更老的技术,并没有真正考虑到RAD(快速应用程序开发)原则。
当您在Visual Studio中基于模板创建新的Win32项目时,您已经为您创建了一个对话框资源:“关于”框。如果在解决方案资源管理器中双击“ProjectName.rc”文件,然后展开“对话框”资源文件夹,您将看到它。双击它将弹出此对话窗口的Dialog Editor。您可以使用熟悉的“工具箱”窗口添加控件,并使用熟悉的“属性”窗口对其进行自定义。
当然,您仍然需要编写显示对话框窗口的代码。有两种基本方法:
DialogBox
function将以模态方式显示对话框 ,这意味着用户必须先关闭对话框,然后才能与应用程序的其余部分进行交互。对用户来说不方便,但对程序员来说相当方便,因为Windows会为你运行对话框的消息循环。
CreateDialog
function将显示正常(非模态)对话框,但要求您为对话框窗口编写自己的消息循环,就像使用普通的非对话窗口一样。< / p>
您可以设想为您的应用程序设计所有窗口,方法是为每个窗口添加单独的对话框资源,但这不一定是个好主意。学习新UI框架的一部分是学习如何使用该框架的方式。在运行时通过代码创建控件并设置其属性并不是那么困难,而且比将自己限制在固定布局要强大得多。 (事实上,即使您有一个具有固定布局的对话框资源,您也经常需要编写类似的代码以允许在运行时自定义这些控件。)