熟悉CListCtrl控件的使用。
来源:互联网 发布:软件企业认证证书 编辑:程序博客网 时间:2024/06/05 09:07
熟悉CListCtrl控件的使用。
1. 如何添加标题栏。
参考代码:
void CDownloadToolDlg::InitUsbDeviceListCtrl()
{
//设置列表的样式
m_lst_UsbDevice.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_TRACKSELECT|LVS_EX_FLATSB|LVS_EX_UNDERLINEHOT|LVS_EX_GRIDLINES);
m_lst_UsbDevice.ModifyStyle(LVS_TYPEMASK,LVS_REPORT);
//设置标题栏
m_lst_UsbDevice.InsertColumn(0,_T("设备名称"),LVCFMT_IMAGE|LVCFMT_LEFT,80,80); //增加列
m_lst_UsbDevice.InsertColumn(1,_T("符号连接"),LVCFMT_LEFT,80);
m_lst_UsbDevice.InsertColumn(2,_T("容量"),LVCFMT_LEFT,80);
m_lst_UsbDevice.InsertColumn(3,_T("盘符"),LVCFMT_LEFT,80);
m_lst_UsbDevice.InsertColumn(4,_T("InstanceID"),LVCFMT_LEFT,80);
m_lst_UsbDevice.SetColumnWidth(0,220);
m_lst_UsbDevice.SetColumnWidth(1,120);
m_lst_UsbDevice.SetColumnWidth(2,90);
m_lst_UsbDevice.SetColumnWidth(3,40);
m_lst_UsbDevice.SetColumnWidth(4,450);
}
添加成员变量:打开【MFC Class Wizard】窗口,为列表视图控件添加成员变量m_lst_UsbDevice,控件类型为Control。对话框的主要功能是输入和输出数据,对话框需要有一组成员变量来存储数据,与控件相对应,成员变量可能是数据也可能是控件对象。
2. 如何添加数据到列表框中。
void CDownloadToolDlg::UpdateUsbDeviceList()
{
m_lst_UsbDevice.DeleteAllItems();
CUsbDeviceScanner::USBStorageDeviceInfoList::iterator UsbDeviceIter;
CCDRomDeviceScanner::CDRomDeviceInfoList::iterator cdromDeviceIter;
m_UsbDeviceScanner.GetUSBDevicesInSystem(m_CurrUsbStorageList);
m_usbCdromScanner.GetCDRomDevicesInSystem(m_curUsbCdromList);
CString szName;
CString szDesc;
int index = 0;
for(UsbDeviceIter = m_CurrUsbStorageList.begin();
UsbDeviceIter != m_CurrUsbStorageList.end();
UsbDeviceIter ++)
{
szName.Format(_T("%s"),UsbDeviceIter->szDeviceName.c_str());
m_lst_UsbDevice.InsertItem(index,szName);//增加一个新的条目
m_lst_UsbDevice.SetItemText(index, 1, (LPCTSTR)UsbDeviceIter->szDevicePhysicalName.c_str());
CCommUtil::ConvertStorageCapacity2CString(szDesc,UsbDeviceIter->nSize);
m_lst_UsbDevice.SetItemText(index, 2, szDesc);
CCommUtil::ConvertDriveStringList2CString(szDesc,UsbDeviceIter->szDriveLetterList);
m_lst_UsbDevice.SetItemText(index, 3, szDesc);
m_lst_UsbDevice.SetItemText(index, 4, UsbDeviceIter->szDeviceInstanceID.c_str());
index ++;
}
m_lst_UsbDevice.SetItemState( 0, LVIS_SELECTED | LVIS_FOCUSED,
LVIS_SELECTED | LVIS_FOCUSED); //设置第一个条目的状态
m_lst_UsbDevice.EnsureVisible( 0, FALSE);
}
3. 熟悉MessageBox的使用。
int CWnd::MessageBox(LPCTSTR lpszText, LPCTSTR lpszCaption, UINT nType)
lpszText:需要显示的内容
lpszCaption :用于指向该消息串口标题的字符串的指针,一般设置为NULL
ntype:表示该消息窗口的风格。由图标和按钮类型组成,两个类型的参数之间用->分割。
按钮风格
MB_ABORTRETRYIGNORE 消息框中显示Abort、Retry、Ignore按钮
MB_OK 显示OK按钮
MB_OKCANCEL 显示OK、Cancel按钮
MB_RETRYCANCEL 显示Retry、Cancel按钮
MB_YESNO 显示Yes、No按钮
MB_YESNOCANCEL 显示Yes、No、Cancel按钮
图标风格
MB_ICONINFORMATION 显示一个i图标,表示提示
MB_ICONEXCLAMATION 显示一个惊叹号,表示警告
MB_ICONSTOP 显示手形图标,表示警告或严重错误
MB_ICONQUESTION 显示问号图标,表示疑问
需要实现的功能:
1. 可以显示插入系统中的USB设备。
UpdateUsbDeviceList():在OnInitDialog(),OnDeviceChange(),OnBnClickedBtnRefresh()(刷新按钮)中调用。
UpdateUsbDeviceList()
{
获得设备列表,扫描设备;
符合条件的设备显示出来;
}
2. 按一个按钮可以显示选中的设备信息。
a) 获得列表对话框中,选中条目:
POSITION pos = pList->GetFirstSelectedItemPosition();
int nItem = pList->GetNextSelectedItem(pos);
b) 将得到的条目显示
问题:1、找不到头文件,绝对地址写入#include "./UsbComm/UsbDevice.h"
加入路径属性->C/C++->general-》additional include directories
2、afx_msg:消息标志,向系统申明:有消息映射到函数实现体。
如:afx_msg void OnStnClickedSeleusb();
- 熟悉CListCtrl控件的使用。
- CListCtrl控件的使用
- CListCtrl控件控件的使用
- CListCtrl控件的使用详解
- VS2008下的CListCtrl控件的使用
- MFC CListCtrl控件的基本使用
- CListCtrl控件使用总结
- CListCtrl控件使用
- CListCtrl控件使用详解
- CListCtrl控件使用大全
- CListctrl 控件使用
- CListCtrl控件使用
- CListCtrl控件使用
- CListCtrl控件使用
- VC的CListCtrl控件
- VC的CListCtrl控件
- VC的CListCtrl控件
- VC的CListCtrl控件
- DOM之旅
- 如何有效地管理测试用例
- left/right join 和+的区别
- Linux下执行程序时发生错误:cannot restore segment prot after reloc
- 设计模式之state模式
- 熟悉CListCtrl控件的使用。
- UIViewController XIB/NIB加载过程
- 介绍一个PDF的生成方案
- 提高编程能力的10种方法
- Setup and maintenance of Data Guard Broker using DGMGRL [ID 201669.1]
- 熟悉工作线程的使用
- Oracle中大批量删除数据的方法
- DotProject项目管理工具安装说明(一)
- 基于优龙FS2410开发板的嵌入式Linux/QT/Embedded环境搭建