我正在使用普通的 Win32 API(我的意思不是 MFC)来创建一个简单的应用程序。我将 CreateWindowEx
与 MSDN 中指定的 STATUSCLASSNAME
一起使用,但返回的句柄为 NULL
。我按照指示调用了 InitCommonControlsEx
,但返回了 FALSE
!所以我怀疑这就是没有创建该栏的原因。这是怎么回事?请帮忙。
我使用的是 Windows 7 64 位。
hStatusBar = ::CreateWindowExW(
0,
L"STATUSCLASSNAME",
L"",
WS_VISIBLE|WS_CHILD|WS_BORDER,
0,0,0,0, hWnd, 0, hInstance, NULL
);
最佳答案
您的代码中有一个简单的错误。 STATUSCLASSNAME
不是一个值,这是 < commctrl.h >
中的常量。所以你的代码实际上应该如下所示:
#include <commctrl.h>
.
.
.
hStatusBar = ::CreateWindowExW(
0,
STATUSCLASSNAME,
L"",
WS_VISIBLE|WS_CHILD|WS_BORDER,
0,0,0,0, hWnd, 0, hInstance, NULL
);
我想你正在研究这个http://msdn.microsoft.com/en-us/library/bb775491%28v=VS.85%29.aspx#STATUSCLASSNAME但正如它所指定的,左列中有常量而不是值
关于winapi - 无法使用普通 win32 api 在 Visual C++ Express 2010 中创建 StatusBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6077276/