listcontrol 问题

chencjss 2018-01-07 04:28:42
我在winmain中用 CreateDialog 创建了一个对话框。如果对话框模板中没有包含listcontrol 控件的话,很顺利的,对话框显示出来。否则,对话框不显示, 返回的 hwnd=NULL , 用GetLastError 得到的代码是 0, 0一般不是代表成功了吗?请问各位怎么才能将包含listrol的对话框显示出来,麻烦指教一下,谢谢。
我的代码如下:

wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = DLGWINDOWEXTRA ; // Note!
wndclass.hInstance = hInstance ;
wndclass.hIcon = NULL; //LoadIcon (hInstance, szAppName) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) (COLOR_BTNFACE + 1) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;

if (!RegisterClass (&wndclass))
{
MessageBox ( NULL, TEXT ("This program requires Windows NT!"), szAppName, MB_ICONERROR) ;
return 0 ;
}

hwnd = CreateDialog (hInstance, MAKEINTRESOURCE(IDD_DIALOG1), 0, NULL) ;
if(!hwnd)
{
wsprintf( buf, "create dlg fail %d ", GetLastError());
MessageBox(NULL, buf, " err", 0);
return 0;
}
ShowWindow (hwnd, iCmdShow) ;

rc文件:

// Generated from the TEXTINCLUDE 2 resource.
//
#include "resource.h"
#include "afxres.h"

//
// Dialog
//

HEXCALC DIALOG DISCARDABLE 0, 0, 413, 248
STYLE WS_MINIMIZEBOX | WS_CAPTION | WS_SYSMENU
CAPTION "Dialog"
CLASS "HexCalc"
FONT 10, "System"
BEGIN
CONTROL "List3",IDC_LIST,"SysListView32",LVS_NOSCROLL |
WS_BORDER | WS_TABSTOP,7,7,403,238
END
...全文
474 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-01-08
  • 打赏
  • 举报
回复
CoInitialize/CoInitializeEx ?

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧