问题描述
我真的很苦恼如何制作带有三个选项的窗口。我目前有一个使用 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
)来注册一个窗口类。