龙空技术网

MFC控件介绍(三)

之乎者也吧呀 113

前言:

此时朋友们对“mfc文本框数据读取”大体比较注重,看官们都需要了解一些“mfc文本框数据读取”的相关资讯。那么小编在网摘上收集了一些关于“mfc文本框数据读取””的相关资讯,希望我们能喜欢,小伙伴们快快来了解一下吧!

我碰到了一个男孩,前几年活泼开朗,现在满身疲惫,两眼无光,我很想安慰他,于是,我伸手碰了碰镜子。。。

---- 网易云热评

一、列表控件

1、显式方式

图标:LVS_ICON

小图标:LVS_SMALLICON

列表:LVS_LIST

详细信息:LVS_REPORT

2、相关类 CListCtrl

3、更改列表控件的显式方式:ModifyStyle

4、添加选项:InsertItem

5、添加列:InsertColumn

6、设置选项的附加数据:SetItemData

7、获取选项的附加数据:GetItemData

8、清空选项:DeleteAllItems

9、设置文本内容:SetItemText

10、设置图像:SetImageList

11、添加一个下拉组合框,绑定对象

       m_combo.AddString("图标");       m_combo.AddString("小图标");       m_combo.AddString("列表");       m_combo.AddString("报表");       m_combo.SetCurSel(0);

12、添加一个列表控件,绑定对象并设置事件

void CMFCListDlg::OnSelchangeCombo1(){       // TODO: 在此添加控件通知处理程序代码       switch (m_combo.GetCurSel())       {       case 0://图标              m_list.ModifyStyle(LVS_SMALLICON | LVS_LIST | LVS_REPORT, LVS_ICON);              break;       case 1://小图标              m_list.ModifyStyle(LVS_ICON | LVS_LIST | LVS_REPORT, LVS_SMALLICON);              break;       case 2://列表              m_list.ModifyStyle(LVS_ICON | LVS_SMALLICON | LVS_REPORT, LVS_LIST);              break;       case 3://报表              m_list.ModifyStyle(LVS_ICON | LVS_SMALLICON | LVS_LIST, LVS_REPORT);              break;       }}

13、设置报表相关信息

//添加列信息       m_list.InsertColumn(0, "name", LVCFMT_LEFT, 100);       m_list.InsertColumn(0, "date", LVCFMT_LEFT, 100);       m_list.InsertColumn(0, "type", LVCFMT_LEFT, 100);       m_list.InsertColumn(0, "size", LVCFMT_LEFT, 100);       //第一个选项索引,第二个选项文件名,第三个选项图片       m_list.InsertItem(0, "哎呦", 0);       m_list.InsertItem(1, "不错", 0);       //设置文件的信息内容       m_list.SetItemText(0, 1, "2021.1.11");       m_list.SetItemText(0, 2, "dir");       m_list.SetItemText(0, 3, "1M");       m_list.SetItemText(1, 1, "2021.1.12");       m_list.SetItemText(1, 2, "file");       m_list.SetItemText(1, 3, "12K");

14、添加位图

  //创建一个链表节点       CImageList* pImgLst = new CImageList;       //第一个参数位图,第二参数24宽截一个节点,第三个参数链表不够,第四个屏蔽什么样色       pImgLst->Create(IDB_BITMAP2, 24, 1, RGB(255, 255, 255));       //设置图标       m_list.SetImageList(pImgLst, LVSIL_NORMAL);//应用在图标风格       m_list.SetImageList(pImgLst, LVSIL_SMALL);//应用在其他图标

15、遍历C盘目录的文件和文件夹

随便找个头文件,声明函数

void InitList(CString path);重写函数void CMFCListDlg::InitList(CString path){       CFileFind find;       BOOL GoFind= find.FindFile(path+"/*.*");       int i = 0;       while (GoFind)       {              GoFind = find.FindNextFile();//返回下一个文件是否存在              CString filename = find.GetFileName();              if (find.IsDirectory()) {                     m_list.InsertItem(i, filename, 0);              }              else              {                     m_list.InsertItem(i, filename, 1);              }              i++;       }       find.Close();}

运行结果:

16、点击文件夹进入

先添加事件

为选择项添加附加数据

//创建对象,延长使用周期              CString* filepath = new CString;              *filepath = find.GetFilePath();              if (find.IsDirectory()) {                     m_list.InsertItem(i, filename, 0);                     //添加附加数据                     m_list.SetItemData(i, (DWORD)filepath);              }代码实现上面添加的事件void CMFCListDlg::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult){       LPNMITEMACTIVATE pNMItemActivate =  reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);       // TODO: 在此添加控件通知处理程序代码       //获取选择项       POSITION pos= m_list.GetFirstSelectedItemPosition();       //获取选择项索引       int nSel=m_list.GetNextSelectedItem(pos);       //获取附加数据       CString* filepath = (CString*)m_list.GetItemData(nSel);       InitList(*filepath);       *pResult = 0;}

欢迎关注公众号:顺便编点程

标签: #mfc文本框数据读取