以下代码向 wnd
返回 0,但紧接在 CreateDialog
之后,错误为 ERROR_SUCCESS
。该对话框没有显示,我不明白这是怎么可能的。这是一个控制台项目,如果相关的话,对话框是在 vs2013 中创建的。
#include <windows.h>
#include "resource.h"
int main(){
HWND wnd = CreateDialog(NULL, MAKEINTRESOURCE(IDD_DIALOG1), NULL, NULL);
ShowWindow(wnd, SW_SHOWDEFAULT);
UpdateWindow(wnd);
MSG msg;
while(GetMessage(&msg, NULL, 0, 0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
这一定是一些非常愚蠢的错误,但我看不出。
最佳答案
您需要先初始化 Rich Edit 库 - 如果未加载该库,则不会注册控件并且对话框创建将失败。
请参阅 http://msdn.microsoft.com/en-us/library/windows/desktop/hh298375(v=vs.85).aspx 处的注释关于调用 LoadLibrary
。您需要在创建对话框之前执行此操作。
或者设置 DS_NOFAILCREATE
样式应该允许创建对话框,尽管丰富的编辑控件不会显示。
关于CreateDialog 返回 0 但得到 ERROR_SUCCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27613229/