将列添加到Listview后,添加的列保持不可见

时间:2012-08-20 14:40:06

标签: windows winapi user-interface

在我的主窗口过程的WM_CREATE消息中,我创建了一个包含下一个代码的列表视图:

hMyList = CreateWindowA( WC_LISTVIEW,TEXT(""), WS_CHILD | WS_VISIBLE |
          LVS_LIST | LVS_TYPEMASK , XPOS(450), YPOS(20), NWIDTH(200),   
          NHEIGHT(200),hWnd,(HMENU) 9876, hInst, NULL);

然后我插入代码为列表视图添加一列:

LVCOLUMN column;    
column.mask = LVCF_TEXT; 
column.pszText = "Name";
SendMessage(hMyList, LVM_INSERTCOLUMN, NULL, (LPARAM)&column );
//returns 0; so everything is fine  

但列没有出现在列表视图中 可能是问题的根源是什么?

1 个答案:

答案 0 :(得分:1)

列仅在列表视图的报告/详细信息视图中可见。要在该模式下切换它,您应该向其发布LVM_SETVIEW消息,或者在CreateWindowA中使用LVS_REPORT样式而不是LVS_LIST。