ListControl的使用

ListControl的使用

一、基本使用
1 .新加ListControl 控件,属性中的style属性页下的View选择Report。
并设置其对应的控制变量如:m_list1。

2 .初始化,即设置列。     用m_list1。
        m_list1.InsertColumn(
0 , " 曲名 " );          // 插入列
 m_list1.InsertColumn( 1 , " 类型 " );
 m_list1.InsertColumn(
2 , " 长度 " );
 m_list1.InsertColumn(
3 , " 路径 " );

 CRect rect4;
 m_list1.GetClientRect(rect4);                    
// 获得当前客户区信息
 m_list1.SetColumnWidth( 0 ,rect4.Width() / 4 );        // 设置列的宽度。
 m_list1.SetColumnWidth( 1 ,rect4.Width() / 5 );
 m_list1.SetColumnWidth(
2 ,rect4.Width() / 5 );
 m_list1.SetColumnWidth(
3 ,rect4.Width() * 8 / 20 );

 这部分初始化操作,最好放在对话框类的OnInitDialog()函数里,自动初始化。

3 .插入数据
        m_list1.InsertItem(
0 , " 大海 " );       // 插入第一个数据,即第0条数据。先插入,然后在修改其他的信息。
        m_list1.SetItemText( 0 , 1 , " MP3 " );     // 修改第0条数据的其他信息。
        m_list1.SetItemText( 0 , 2 , " 4:20 " );
        m_list1.SetItemText(
0 , 3 , " c:\ " );

4 .删除所有数据
        m_list1.DeleteAllItems();
      
       
                
二、其他技巧

1 .如何设置ListView控件的完全行(Full Row)选项。
    这个控件有个地方常常很恼人,那就是在报告视图中选中一行时,它只加亮最左边的一个栏目。
    为了克服这个问题,这里告诉你一个方法:向ListView控件发送一个LVM_SETEXTENDEDLISTVIEWSTYLE消息。
::SendMessage(m_list1.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);

你可能感兴趣的:(ListControl的使用)