c++ - 如何使用 C++ 制作带有下拉菜单的简单 GUI
问题描述
我真的很努力如何制作一个包含三种选项的窗口。我目前有一个使用CFileDialog
对象的设置,并成功实现了两个下拉菜单和多个检查项。
我想要的是实现一个弹出窗口,它有两个下拉菜单和复选框。如果在其中一个下拉菜单中选择了某个项目,则会打开文件对话框。
目前我正在尝试制作一个CWnd
对象并尝试在那里为它编写代码。
CWnd myWindow;
BOOL VALUE = myWindow.Create(_T("DesktopApp"), _T("test"), WS_VISIBLE | WS_BORDER | WS_CAPTION,
RECT{ 100,100,400,400 },
myWindow.GetDesktopWindow(), 12);
myWindow.ShowWindow(SW_SHOWNORMAL);
if (VALUE == FALSE) {
return 0;
}
每次我运行它时,它都会过早返回 ( VALUE == FALSE
)。我做错什么了吗?有没有更简单的方法来创建一个窗口?
解决方案
第一个参数CWnd::Create
是窗口类名。必须先注册具有请求名称的类,然后才能创建它。
为应用程序的主窗口注册一个应用程序本地类是很常见的。MFC 提供了一个方便的包装函数 ( AfxRegisterWndClass
) 来注册一个窗口类。
推荐阅读
- c++ - 初始化包含固定大小数组的 C++ 结构
- python - 在单独的数据框中用匹配值替换列名
- javascript - 失去逻辑!javaScript中的随机唯一数字
- python - 如何在此示例中修复“只有整数、切片 (`:`)、省略号 (`...`)、numpy.newaxis (`None`) 和整数或布尔数组是有效索引”
- javascript - 如何为 Discord 网关设置心跳功能
- jdbc - jmeter JDBC插入捕获自动生成的ID
- javascript - JavaScript 将音频字节数组转换为 wav 文件或有效的 AudioBuffer
- flutter - 将多图像选择器与图像裁剪器一起使用
- java - 为什么 MethodHandle 在 JDK 1.8 中比 Reflection 慢?
- c++ - 在 C++ 源文件中每个函数定义的开头添加一个宏调用