MFC(一)创建列表--列表框形式
来源:互联网 发布:生化危机启示录 知乎 编辑:程序博客网 时间:2024/05/08 00:50
1.在MFC控件中选择列表控件,放在合适位置。
2.在列表控件右键,选择属性。
3.在属性中,设置ID为IDC_LIST。
4.建立类向导:
1)在列表控件右键,选择建立类向导。
2)在类向导-Member Variables中选择IDC_LIST,然后点击右侧的Add Variable。在下拉列框中:
Member Variable name:m_list;Category:Control;Variable type:CListCtrl。
5.添加代码
1)在在OnInitDialog()中添加下面的代码:
//应用LVS_ICON模式: LONG lStyle; lStyle= GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口style lStyle |= LVS_ICON;lStyle &= ~LVS_SINGLESEL; SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);//设置style DWORD dwStyle =m_list.GetExtendedStyle(); //dwStyle=dwStyle| LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl) //dwStyle= dwStyle|LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl) //dwStyle=dwStyle| LVS_EX_CHECKBOXES;//item前生成checkbox控件 m_list.SetExtendedStyle(dwStyle); //设置扩展风格 //载入icom_pImageList.Create(64, 64, ILC_COLOR24, 4, 4); //设置行高以及行宽m_pImageList.Add(::LoadIcon(AfxGetApp()->m_hInstance,(LPCTSTR)IDI_ICON_FOLD)); //文件夹m_pImageList.Add(::LoadIcon(AfxGetApp()->m_hInstance,(LPCTSTR)IDI_ICON_MP4));//MP4m_pImageList.Add(::LoadIcon(AfxGetApp()->m_hInstance,(LPCTSTR)IDI_ICON_JPG));//JPGm_list.SetImageList(&m_pImageList,LVSIL_NORMAL);
2)list列出所有内容
/*函数的功能:列出网址下的所有内容(文件夹、MP4和jpg)参数解释:网址*/ void CVPlayDlg::ListItems(CString urlitem){char *FILEPATH= "temp.txt" ; char* url = (LPSTR)(LPCTSTR)urlitem; if ( getUrl(url, FILEPATH) ) { printf( "OK\n" ); } //获得所有的jpg以及MP4和文件夹 stritems.clear(); string filename="temp.txt"; fstream out;out.open(filename.c_str(), ios::in);string content;string str_sel1="alt=\"[DIR]\"";string str_sel2="alt=\"[IMG]\"";string str_sel3="alt=\"[VID]\"";while (getline(out, content)) {string str_sels="href=";int c_strlabel1=content.find(str_sel1); //文件夹int c_strlabel2=content.find(str_sel2);//jpgint c_strlabel3=content.find(str_sel3);//mp4 if(c_strlabel1!=content.npos){ string c_str=content.substr(c_strlabel1,content.size()-c_strlabel1-1); int c_strlabel1s=c_str.find(str_sels);if(c_strlabel1s!=c_str.npos){ string c_strs=c_str.substr(c_strlabel1s,c_str.size()-c_strlabel1s-1); int c_str2label=c_strs.find("\">"); string str=c_strs.substr(6,c_str2label-7); if(str.size()>0) { stritems.push_back(str); }}}else if(c_strlabel2!=content.npos){ string c_str=content.substr(c_strlabel2,content.size()-c_strlabel2-1); int c_strlabel2s=c_str.find(str_sels);if(c_strlabel2s!=c_str.npos){ string c_strs=c_str.substr(c_strlabel2s,c_str.size()-c_strlabel2s-1); int c_str2label=c_strs.find("\">"); string str=c_strs.substr(6,c_str2label-6); if(str.size()>3) { stritems.push_back(str); } }}else if(c_strlabel3!=content.npos){ string c_str=content.substr(c_strlabel3,content.size()-c_strlabel3-1); int c_strlabel3s=c_str.find(str_sels);if(c_strlabel3s!=c_str.npos){ string c_strs=c_str.substr(c_strlabel3s,c_str.size()-c_strlabel3s-1); int c_str3label=c_strs.find("\">"); string str=c_strs.substr(6,c_str3label-6); if(str.size()>3) { stritems.push_back(str); }}}}out.close();while(m_list.DeleteItem(0)){ ;}int item_num=stritems.size();for(int i=0;i<stritems.size();i++){ string str=stritems[i]; LVITEM vItem={0}; vItem.iItem = 0; vItem.iSubItem = 0; vItem.mask = LVIF_TEXT | LVIF_IMAGE; CString strText(str.c_str()); strText = str.c_str(); int l_mp4=strText.Find(".mp4"); int l_jpg=strText.Find(".jpg"); LPTSTR lpszText =(LPTSTR)(LPCTSTR)strText; vItem.pszText = lpszText; if(l_mp4>0){ vItem.iImage=1; //mp4 index}else if(l_jpg>0){ vItem.iImage=2; //image index}else {vItem.iImage =0; //fold index} m_list.InsertItem(&vItem); }}
3)list选中内容
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; if(pNMListView->iItem != -1) { CString strtemp; strtemp.Format("单击的是第%d行第%d列", pNMListView->iItem, pNMListView->iSubItem); CString str_item=m_list.GetItemText(pNMListView->iItem,0);}
4)list内容清空
m_list.DeleteAllItems;
0 0
- MFC(一)创建列表--列表框形式
- MFC控件(一)(列表框)
- 用CListCtrl创建列表视图(一)
- MFC中创建列表框&&及添加表格的方法
- MFC中创建列表框&&及添加表格的方法
- MFC中创建列表框&&及添加表格的方法
- MFC中创建列表框&&及添加表格的方法
- MFC控件listbox(列表框)
- MFC列表属性CPropSheet的创建
- 采用回调Activity的形式创建AlertDialog单选列表框
- MFC列表框的使用
- MFC列表框的初始化
- [MFC]CListBox列表框类
- MFC 列表框使用技巧
- 静态创建Sharepoint列表项之后,就会想到动态生成父子列表。(一)
- 散列表(一)
- unityTaidou(一)NGUI之列表的创建与使用
- 创建列表
- iOS9 HTTP 不能正常使用的解决办法
- tcpdump 使用
- CMD获取当前目录的绝对路径
- android5.1系统,wifi信号作假
- java栈内存与堆内存
- MFC(一)创建列表--列表框形式
- 申办上海市居住证所需的材料
- java相关知识
- 集成Tomcat插件到Eclipse ,热部署
- UIButton实现左文字右图片
- Quartz的简单使用,基于1.X(一)【入门及CronTrigger】
- 浅析MySQL中exists,in ,=的使用
- Android ListView异步加载图片乱序问题,原因分析及解决方案
- Android studio关于含有转义字符的字符串无法Log,以及如何去掉转义字符问题