我用C/SDK编WIN32程序,可是做不出工具栏来。
为了测试,我直接用向导生成了一个WIN32程序,然后才CreateWindow后面,
添加了如下代码:
hwndTB = CreateWindowEx(0, TOOLBARCLASSNAME, (LPSTR) NULL,
WS_CHILD | CCS_ADJUSTABLE, 0, 0, 0, 0, hWnd,
(HMENU) ID_TOOLBAR, hInst, NULL);
基本就是从MSDN上复制下来的。只是改了hwndParent和g_hinst两个参数。
编译能通过,可是测试下来,发现hwndTB总是等于0(即CreateWindowEx函数
失败)实在不知道问题出在哪里,请大家帮忙~
PS:MSDN上本来还要求用InitCommonControlsEx(&icex),但是我的是WIN XP,
不支持这个函数,因此跳过了这一步,应该没什么问题吧?持续等待中...
为了测试,我直接用向导生成了一个WIN32程序,然后才CreateWindow后面,
添加了如下代码:
hwndTB = CreateWindowEx(0, TOOLBARCLASSNAME, (LPSTR) NULL,
WS_CHILD | CCS_ADJUSTABLE, 0, 0, 0, 0, hWnd,
(HMENU) ID_TOOLBAR, hInst, NULL);
基本就是从MSDN上复制下来的。只是改了hwndParent和g_hinst两个参数。
编译能通过,可是测试下来,发现hwndTB总是等于0(即CreateWindowEx函数
失败)实在不知道问题出在哪里,请大家帮忙~
PS:MSDN上本来还要求用InitCommonControlsEx(&icex),但是我的是WIN XP,
不支持这个函数,因此跳过了这一步,应该没什么问题吧?持续等待中...
InitcommonControlEx();XP为什么不支持此函数?此函数的要求只是:Requirements
Version 4.70 and later of Comctl32.dll Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with Internet Explorer 3.0 and later).
Windows 95/98: Requires Windows 98 (or Windows 95 with Internet Explorer 3.0 or later).
Windows CE: Requires version 2.0 or later.
Header: Declared in commctrl.h.
Import Library: comctl32.lib.
1。不要使用CreateWindowEx,而使用CreateToolbarEx()(详细的,看MSDN);
2。我也用XP,但是没有发生InitCommonControlsEx(&icex)问题,如果该问题实在不能解决,就使用InitCommonControls(),总之,InitCommonControls这个东西没有执行,是要出问题的。对了,你说它有问题,是不是你没有把comctl32.lib加入工程中;
3。我从来不用MFC,只用SDK,我的程序早就实现了ToolBar,而且还使用了其很多新风格,如果你检查后还有问题,就把你的关键代码贴上来,或者我再贴代码。
返回窗口句柄为0,也就是CreateWindowEx返回了0。
InitcommonControlEx()的调用,编译通过,关键是连接
时不能通过。用CreateToolbarEx()同样是连接时不能通过。
<commctrl.h>我也include了,应该没问题。
我用的是.net,直接把MSDN的ToolBar Sample Code建立
项目也是连接不能通过。
真的快疯了...
捆扰了我好多天了。
本来可以自己建个子窗口,放上BUTTON来模拟做个工具栏,
但是这个问题不解决,心里实在难受的很,总是放不下...
谢谢大家帮我查查原因是什么吧...
一语惊醒梦中人...
可能我真的没把comctl32.lib加入到工程中去。
为了这问题,MFC代码我都跟踪了。发现它用的也是
CreateWindowEx。
不过在.net里,怎么把comctl32.lib加入到工程啊?
好象没有“Project/Setting...”菜单了~
谢谢你能留下QQ或者Email吗?
我的QQ2439216
Email:[email protected]
comctl32.lib没加载...(好难为情,脸都红了~)
原来.net的项目设置在解决方案的属性对话框中~
呵呵,害我找好久~