CreateWindowEx 创建ListBox 消息无法响应!

qq_33553286 2018-09-03 11:19:11
创建ListBox代码:
hListBoxhost = CreateWindowEx(NULL, WC_LISTVIEW, NULL, WS_CHILD | WS_BORDER
| WS_VISIBLE | LBS_HASSTRINGS | LBS_NOTIFY | LBS_NOINTEGRALHEIGHT, 5, 29, 100, 177,
hwnd, (HMENU)159, g_hInstance, NULL);

响应消息部分代码:
case WM_COMMAND:

switch (LOWORD(wParam))
{
case 159://host列表框
if (LBN_DBLCLK==HIWORD(wParam))
{
MessageBoxA(g_hwnd, "用户单击了列表项!", "", MB_ICONASTERISK | MB_OK);
}

break;
}


运行程序插入项, 然后点击怎么都不出响应后的消息框, 而我把CreateWindowEx第二个参数改为: L"LISTBOX" 却又可以响应了, 这是什么原因, 但是这样改的话会出现个问题, ListView_SetExtendedListViewStyle, 等等...一些操作ListBox 宏无法使用! 该怎么解决
...全文
134 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2018-09-04
  • 打赏
  • 举报
回复
「已注销」 2018-09-04
  • 打赏
  • 举报
回复
已解决 参考: https://blog.csdn.net/zuishikonghuan/article/details/46877001
「已注销」 2018-09-04
  • 打赏
  • 举报
回复
引用 3 楼 schlafenhamster 的回复:
#ifdef _WIN32

#define WC_LISTVIEWA "SysListView32"
#define WC_LISTVIEWW L"SysListView32"

#ifdef UNICODE
#define WC_LISTVIEW WC_LISTVIEWW
#else
#define WC_LISTVIEW WC_LISTVIEWA
#endif

#else
#define WC_LISTVIEW "SysListView"
#endif

是 listctrl 不是 listbox
另外 不是 g_hInstance 是
pParentWnd
好 老铁 我试试
schlafenhamster 2018-09-04
  • 打赏
  • 举报
回复
#ifdef _WIN32

#define WC_LISTVIEWA "SysListView32"
#define WC_LISTVIEWW L"SysListView32"

#ifdef UNICODE
#define WC_LISTVIEW WC_LISTVIEWW
#else
#define WC_LISTVIEW WC_LISTVIEWA
#endif

#else
#define WC_LISTVIEW "SysListView"
#endif

是 listctrl 不是 listbox
另外 不是 g_hInstance 是
pParentWnd
「已注销」 2018-09-03
  • 打赏
  • 举报
回复

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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