注册 登录
编程论坛 C语言论坛

win32界面的一个问题,关于listView

a451410 发布于 4 天前 19:46, 83 次点击
为什么我的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;
    }

}

程序正常运行,但是列表里面没有列,如下图
只有本站会员才能查看附件,请 登录
1 回复
#2
a4514104 天前 21:11
已解决 ,原因是我在资源文件里使用的是list box,应该把他变为list control,并且显示方式要改为report报表的形式
1