win32界面的一个问题,关于listView
为什么我的listview设置列没有反应,代码如程序代码:
VOID InitListView(HWND hwnd, int id) { //定义变量 HWND hListView;//接收listview的句柄 LVCOLUMN lv;//用于初始化listview基本信息的结构体 //初始化 memset(&lv, 0, sizeof(LVCOLUMN)); //获取listview的句柄 hListView = GetDlgItem(hwnd, id); //设置整行选中 SendMessage(hListView, LVM_SETEXTENDEDLISTVIEWSTYLE, LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT); //设置列的显示模式 lv.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; //选择对应的listview进行初始化 switch (id) { case IDC_LIST1_1: lv.pszText = (LPWSTR)"进程"; lv.cx = 100; lv.iSubItem = 0; SendMessage(hListView, LVM_INSERTCOLUMN, 0, (DWORD)&lv); //这是一部分测试用的,不用在意 //ListView_InsertColumn(hListView, 0, &lv); /*lv.pszText = (LPWSTR)"PID"; lv.pszText = (LPWSTR)"镜像基址"; lv.pszText = (LPWSTR)"镜像大小";*/ default: break; } }
程序正常运行,但是列表里面没有列,如下图