下面的代码返回0到wnd
,但就在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);
}
}
这肯定是个愚蠢的错误,但我看不出来。
最佳答案
您需要首先初始化富编辑库-如果库未加载,控件将不会注册,对话框创建将失败。
请参见http://msdn.microsoft.com/en-us/library/windows/desktop/hh298375(v=vs.85).aspx中关于调用LoadLibrary
的说明。在创建对话框之前需要执行此操作。
另外,设置DS_NOFAILCREATE
样式应该允许创建对话框,尽管不会显示富编辑控件。
关于c - CreateDialog返回0,但得到ERROR_SUCCESS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27613229/