WIN32 控件ListView学习心得

来源:互联网 发布:excel数据有效性自定义 编辑:程序博客网 时间:2024/05/16 05:27

   最近学习的是WIN32控件ListView的使用,以下是个人的一点心得。

   ListView控件,在直观上个人认为就是表格的意思。与表格一样,ListView也有表头,表头有几个项,下面的内容行也有几个项。

  ListView的创建:

  创建ListView的函数是createWindow()函数,其中窗口类别参数使用 WC_LISTVIEW  ,该参数定义在头文件  CommCtrl.h 中。

  示例代码:

                    HWND listview = CreateWindowEx(NULL,WC_LISTVIEW,NULL,WS_BORDER | WS_CHILD |WS_VISIBLE |LVS_REPORT |LVS_EDITLABELS ,200,0,600,500,hwnd,NULL,mainhinstace,NULL);

 

  ListView的操作:

     (1)添加分栏,即为表头;

           添加分栏需要使用到LVCOLUMN 结构体,示例:

            LVCOLUMN lvc;
            lvc.mask =LVCF_FMT | LVCF_WIDTH |LVCF_TEXT |LVCF_SUBITEM;  //表示结构体中的有效成员
            lvc.pszText = "序号";   //分栏名称
            lvc.cx = 100;   //分栏大小
            lvc.iImage = 1; 
            lvc.fmt =LVCFMT_LEFT;  //分栏字体对其方式
            lvc.iSubItem = 0;   //表示第几个分栏
            ListView_InsertColumn(listview,0, &lvc);   //插入分栏

   (2)添加项,即行;

             添加项需要使用到LVITEM 结构体,示例:

                   LVITEM lvi;
              lvi.mask = LVIF_TEXT |LVIF_IMAGE | LVIF_PARAM |LVIF_STATE;
            lvi.state = 0;
            lvi.stateMask = 0;
            lvi.iItem = 0;
            lvi.iSubItem = 0;
            lvi.pszText = "1";
            lvi.cchTextMax = lstrlen(lvi.pszText)+1;
            ListView_InsertItem(listview,&lvi);    //插入行的第一个格子
            ListView_SetItemText(listview,0,1,"456"); //插入行的指定格子


效果如下:

      

0 0