如何使用 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 的第一个参数是 window class 名称。必须先注册具有请求名称的类,然后才能创建它。

为应用程序的主窗口注册一个 application local class 是很常见的。 MFC 提供了一个方便的包装函数(AfxRegisterWndClass)来注册一个窗口类。