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

用户名

我需要创建一个Win32应用程序。我正在使用Visual Studio。我真的很喜欢在Windows Form中设计我的应用程序,该应用程序允许以图形方式设计我的窗口。

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

有没有办法在Win32应用程序中合并Windows窗体?还是以图形方式设计Win32窗口?

(如果有一种方法可以图形化设计Win32应用程序GUI,只有我自己不能理解它,我将不胜感激这样做的资源或方法。)

科迪·格雷

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

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

   

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

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从WIN32应用程序使用的C#COM DLL调用Java代码?

使用CreateProcess从Win32 C ++应用程序启动Java应用程序时出错

在Windows Server 2008上构建时,“不是有效的Win32应用程序”

如何在Win32应用程序中检测Windows 10亮/暗模式?

从Windows 10上的Win32 GUI应用程序输出到控制台

Win32应用程序具有高CPU使用率

在Windows的Docker中运行普通的Win32应用程序

通用Windows应用程序到Win32应用程序

Win32 Paint应用程序

使用CLion / CMake / MSVC 2015编译WIN32应用程序时出现链接错误

Python ctypes DLL是“无效的Win32应用程序”

在Windows上使用Gradle Exec任务时Webpack'不是有效的Win32应用程序'

如何使用WinRT创建经典的Win32应用程序窗口?

Win32在应用程序内使用资源字体

Windows XP上的Inno Setup安装程序显示“无效的Win32应用程序”

应用程序无法在Windows 2000中以WIN32模式运行

无法使用GCC从MSDN编译Win32应用程序的示例

在Windows窗体应用程序中使用Castle Windsor

可以打开Windows的Win32控制台应用程序

在Win32应用程序中连续运行代码

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

应用程序无法在Windows 2003中以Win32模式运行

Win32应用程序,在调用Windows东西之前调用自定义类方法

C#应用程序中的Win32异常

在通用 Windows 应用程序 C++ 上使用 win32 DLL 库

LaunchFullTrustProcessForCurrentAppAsync 杀死 win32 应用程序

Visual Studio:“不是 Win32 应用程序”错误

在 win32 控制台应用程序中使用 ntdll.dll 好不好?

Win32 控制台应用程序