【远控编写02】客户端界面的设计和编写--加入列表的列名称

来源:互联网 发布:淘宝网店如何引流 编辑:程序博客网 时间:2024/05/16 18:28

1.上一节我们为列表控件添加变量,我们来查看变量的成员:
  CListCtrl 类 查看MSDN  找到

[cpp] view plaincopy
  1. int InsertColumn(  
  2.                                          int nCol,                  //列的顺序  
  3.                                          LPCTSTR lpszColumnHeading, //列的名字  
  4.                                          int nFormat = LVCFMT_LEFT,  //列对齐的方式 LVCFMT_LEFT, LVCFMT_RIGHT,LVCFMT_CENTER  
  5.                                          int nWidth = -1,            //列的宽度  
  6.                                          int nSubItem = -1           //与之联系的子条目 默认为-1 我们不用写  
  7.                                          );  

 

2.因为这个列表比较重要所以要放到一个每一个文件都能访问到的文件很自然的就是stdafx.h

[cpp] view plaincopy
  1.  enum  
  2.   
  3. ONLINELIST_IP=0,          //IP的列顺序  
  4. ONLINELIST_ADDR,          //地址  
  5. ONLINELIST_COMPUTER_NAME, //计算机名/备注  
  6. ONLINELIST_OS,           //操作系统  
  7. ONLINELIST_CPU,          //CPU  
  8. ONLINELIST_VIDEO,       //摄像头  
  9. ONLINELIST_PING          //PING  
  10. ;  


 

3.处理列表的代码应该统一放在一处,添加列表处理的代码InitList()函数。
4.写入加入列表列名的代码:
    列表的名字与列表的宽度是同一一对应的关系,以后为了以后修改方便建立这样的一个结构体:

[cpp] view plaincopy
  1. typedef struct  
  2. {  
  3.     char    *title;   //列表的名称  
  4.     int     nWidth;   //列表的宽度  
  5. }COLUMNSTRUCT;  


然后建立这个结构体变量的数组

[cpp] view plaincopy
  1. COLUMNSTRUCT g_Column_Online_Data[] =   
  2. {  
  3.     {"IP",              148 },  
  4.     {"区域",              150 },  
  5.     {"计算机名/备注", 160 },  
  6.     {"操作系统",            128 },  
  7.     {"CPU",             80  },  
  8.     {"摄像头",         81  },  
  9.     {"PING",            81  }  
  10. };  


添加全局变量

[cpp] view plaincopy
  1. int g_Column_Online_Count=7; //列表的个数  

 

依照此,添加信息列表的结构体:

[cpp] view plaincopy
  1. COLUMNSTRUCT g_Column_Message_Data[] =   
  2. {  
  3.     {"信息类型",        68  },  
  4.     {"时间",          100 },  
  5.     {"信息内容",        660 }  
  6. };  
  7.   
  8. int g_Column_Message_Count=3; //列表的个数  


5.在initList函数中写入加入列表列名称的代码并解释:

[cpp] view plaincopy
  1. // init list  
  2. int CPCRemoteDlg::InitList(void)  
  3. {  
  4.     m_CList_Online.SetExtendedStyle(LVS_EX_FULLROWSELECT);  // 设置选中整行.  
  5.     for (int i = 0; i < g_Column_Online_Count; i++)  
  6.     {   // 依次插入列.  
  7.         m_CList_Online.InsertColumn(i, g_Column_Online_Data[i].title,LVCFMT_CENTER,g_Column_Online_Data[i].nWidth,-1);  
  8.     }  
  9.   
  10.     m_CList_Message.SetExtendedStyle(LVS_EX_FULLROWSELECT); // 设置选中整行.  
  11.     for (int i = 0; i < g_Column_Message_Count; i++)  
  12.     {   // 依次插入列.  
  13.         m_CList_Message.InsertColumn(i, g_Column_Message_Data[i].title,LVCFMT_CENTER,g_Column_Message_Data[i].nWidth,-1);  
  14.     }  
  15.   
  16.     return 0;  
  17. }  
0 0
原创粉丝点击