winapi - 无法使用普通 win32 api 在 Visual C++ Express 2010 中创建 StatusBar

标签 winapi visual-c++-2010

我正在使用普通的 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/

相关文章:

C++ DLL 卸载析构函数?

C++ REG_SZ 加值失败

c++ - 使用ShellExecute在浏览器中打开文件

c++ - scanf 与 cin : string as integer processing

c++ - 尝试制作 shared_ptr 时 std::make_shared() 出错?

c - 用于 Windows 7 的 C 和 win32 中的 WebSocket 客户端

go - 在 Golang 中将 GDI32.dll 位图保存到磁盘

c++ - 在 MSVS2010 下将左值绑定(bind)到右值引用

visual-studio-2010 - 我应该包含哪个头文件来使用 _swprintf_s()?

c++ - 在没有 MFC 的情况下在 Visual Studio 中拖放 UI 设计器?