MFC控件使用说明
MFC中treeview控件使用方法

MFC Treeview控件方法1,用InsertItem 添加节点参数: 文字,图标,父节点返回: HTREEITEM示例: 添加一系列节点HTREEITEM hItem = m_Tree.InsertItem("root",NULL,NULL);///root就是节点的标题int i,j;for (i=0;i<4;i++){HTREEITEM hSubItem = m_Tree.InsertItem("item",NULL,NULL,hItem);for (j=0;j<3;j++){m_Tree.InsertItem("subitem",NULL,NULL,hSubItem);}}InsertItem函数的第一个参数就是设置他的节点标题2.,用ModifyStyle 设置风格参数: 取消的风格,增加的风格示例: 在对话框初始化时设置风格BOOL CMfc1Dlg::OnInitDialog(){//...m_Tree.ModifyStyle(NULL,TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT); }3,用DeleteItem 删除节点4,用.DeleteAllItems 删除全部节点5,.用Expand 展开/收缩节点参数: 节点HTREEITEM,展开/收缩示例:m_Tree.Expand(hItem,TVE_EXPAND);/////////////////////////////////////////////////////////CTreeCtrl的概述cc++vcCTreeCtrl在三种不同情况下创建的方式1、如果要在对话框窗口上创建树形控件,你需要在对话框类中定义一个CTreeCtrl类型的成员变量。
2、如果树形控件是一个子窗口,你可以使用CTreeCtrl::Create()来构建树形空间对象。
MFCCListCtrl控件使用总结整理

MFCCListCtrl控件使用总结整理一、基本操作:1. 创建CListCtrl实例,可以通过对话框资源添加控件或代码创建:```cppCListCtrl m_listCtrl;```2.设置列表样式,例如设置为报表样式:```cppm_listCtrl.Create(WS_VISIBLE , WS_CHILD , LVS_REPORT, CRect(10, 10, 500, 300), this, IDC_LIST_CTRL);```3.设置列表列头:```cppm_listCtrl.InsertColumn(0, _T("序号"), LVCFMT_LEFT, 50);m_listCtrl.InsertColumn(1, _T("姓名"), LVCFMT_LEFT, 100);m_listCtrl.InsertColumn(2, _T("年龄"), LVCFMT_LEFT, 50);```4.添加行数据:```cppint nItemIndex = m_listCtrl.InsertItem(0, _T("1"));m_listCtrl.SetItemText(nItemIndex, 1, _T("张三"));m_listCtrl.SetItemText(nItemIndex, 2, _T("20"));``````cppm_listCtrl.DeleteItem(nItemIndex); // 删除```二、高级操作:1.设置列宽:```cppm_listCtrl.SetColumnWidth(0, LVSCW_AUTOSIZE_USEHEADER);m_listCtrl.SetColumnWidth(1, LVSCW_AUTOSIZE);m_listCtrl.SetColumnWidth(2, LVSCW_AUTOSIZE);```2.设置行高:```cppm_listCtrl.SetItemHeight(0, 50);```3.设置行选中状态:```cppm_listCtrl.SetItemState(0, LVIS_SELECTED, LVIS_SELECTED);```4.设置行背景色:```cppm_listCtrl.SetItemState(0, LVIS_SELECTED , LVIS_FOCUSED, LVIS_SELECTED , LVIS_FOCUSED);m_listCtrl.SetSelectionMark(0);m_listCtrl.SetItemState(0, LVIS_SELECTED, LVIS_SELECTED);```5.设置行图标:```cppm_listCtrl.SetItemImage(nItemIndex, nImageIndex);```6.获取行数和列数:```cppint nItemCount = m_listCtrl.GetItemCount(;int nColumnCount = m_listCtrl.GetHeaderCtrl(->GetItemCount(;```7.获取行数据:```cppCString strItemText = m_listCtrl.GetItemText(nItemIndex, nSubItemIndex);```三、自定义操作:1.列排序:```cpp```2.行拖拽排序:```cppm_listCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT ,LVS_EX_GRIDLINES , LVS_EX_HEADERDRAGDROP);``````cppm_listCtrl.ModifyStyle(0, LVS_EDITLABELS);```4.行点击事件:```cppON_NOTIFY(NM_CLICK, IDC_LIST_CTRL, OnLButtonDown)```5.自定义绘制:```cppON_WM_DRAWITEM```四、注意事项和优化建议:1. 大量数据时,慎用SetRedraw方法来控制刷新。
MFC中ListControl控件的使用

MFC中ListControl控件的使用以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格LVS_ICON: 为每个item显示大图标LVS_SMALLICON: 为每个item显示小图标LVS_LIST: 显示一列带有小图标的itemLVS_REPORT: 显示item详细资料直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”2. 设置listctrl 风格及扩展风格LONG lStyle;lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口stylelStyle &= ~LVS_TYPEMASK; //清除显示方式位lStyle |= LVS_REPORT; //设置styleSetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);//设置styleDWORD dwStyle = m_list.GetExtendedStyle();dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)dwStyle |= LVS_EX_CHECKBOXES;//item前生成checkbox控件m_list.SetExtendedStyle(dwStyle); //设置扩展风格注:listview的style请查阅msdn/library/default.asp?url=/libr ary/en-us/wceshellui5/html/wce50lrflistviewstyles.asp3. 插入数据m_list.InsertColumn( 0, "ID", LVCFMT_LEFT, 40 );//插入列m_list.InsertColumn( 1, "NAME", LVCFMT_LEFT, 50 );int nRow = m_list.InsertItem(0, “11”);//插入行m_list.SetItemText(nRow, 1, “jacky”);//设置数据4. 一直选中item选中style中的Show selection always,或者在上面第2点中设置LVS_SHOWSELALWAYS5. 选中和取消选中一行int nIndex = 0;//选中m_list.SetItemState(nIndex,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);//取消选中m_list.SetItemState(nIndex, 0, LVIS_SELECTED|LVIS_FOCUSED);6. 得到listctrl中所有行的checkbox的状态m_list.SetExtendedStyle(LVS_EX_CHECKBOXES);CString str;for(int i=0; i<m_list.GetItemCount(); i++){if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED || m_list.GetCheck(i)){str.Format(_T("第%d行的checkbox为选中状态"), i);AfxMessageBox(str);}}7. 得到listctrl中所有选中行的序号方法一:CString str;for(int i=0; i<m_list.GetItemCount(); i++){if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED ){str.Format(_T("选中了第%d行"), i);AfxMessageBox(str);}}方法二:POSITION pos = m_list.GetFirstSelectedItemPosition();if (pos == NULL)TRACE0("No items were selected!/n");else{while (pos){int nItem = m_list.GetNextSelectedItem(pos); TRACE1("Item %d was selected!/n", nItem);// you could do your own processing on nItem here}}8. 得到item的信息TCHAR szBuf[1024];LVITEM lvi;lvi.iItem = nItemIndex;lvi.iSubItem = 0;lvi.mask = LVIF_TEXT;lvi.pszText = szBuf;hTextMax = 1024;m_list.GetItem(&lvi);关于得到设置item的状态,还可以参考msdn文章Q173242: Use Masks to Set/Get Item States in CListCtrl /kb/173242/en-us9. 得到listctrl的所有列的header字符串内容LVCOLUMN lvcol;char str[256];int nColNum;CString strColumnName[4];//假如有4列nColNum = 0;lvcol.mask = LVCF_TEXT;lvcol.pszText = str;hTextMax = 256;while(m_list.GetColumn(nColNum, &lvcol)){strColumnName[nColNum] = lvcol.pszText;nColNum++;}10. 使listctrl中一项可见,即滚动滚动条m_list.EnsureVisible(i, FALSE);11. 得到listctrl列数int nHeadNum = m_list.GetHeaderCtrl()->GetItemCount();12. 删除所有列方法一:while ( m_list.DeleteColumn (0))因为你删除了第一列后,后面的列会依次向上移动。
MFCGridCtrl控件_使用说明(中英文)

3.2.2
初使化 GridCtrl 控件..........................................................................................25
3.2.3
设置固定行和列 .................................................................................................26
2.3.1 CGridCtrl 类...............................................................................................................3
2.3.2 CGridCellCheck 类 ....................................................................................................4
3.2.6
设置 ComboBox 列.............................................................................................29
3.2.7
设置行背景颜色和列背景颜色 .........................................................................30
图1 Grid 单元格可以是任何类型,这些类型都是从 CGridCell 派生下来的,基类中定义了 基本的数据存储和编辑操作。扩充的两个类 CgridCellCombo 和 CGridLCellCheck 示范了如 何创建自己的单元格类。
mfc list control简单使用说明

mfc list control简单使用说明MFC(Microsoft Foundation Classes)是Microsoft提供的一个C++面向对象的应用程序框架,用于开发Windows应用程序。
MFC的List Control是其中一个常用的控件,用于展示和管理数据列表。
使用MFC List Control之前,需要先创建一个对话框或视图类,并在资源编辑器中添加一个List Control控件。
我们可以通过以下几个步骤简单地使用MFC List Control控件:1. 设置列标头:使用InsertColumn函数,我们可以设置List Control的列标头。
例如,如果我们想要一个包含“姓名”和“年龄”的列表,可以这样做:```cppm_listCtrl.InsertColumn(0, _T("姓名"), LVCFMT_LEFT, 100);m_listCtrl.InsertColumn(1, _T("年龄"), LVCFMT_LEFT, 100);```2. 添加数据项:使用InsertItem函数,我们可以在List Control中添加数据项。
每个数据项将代表列表中一行的数据。
例如,我们可以这样添加一个名为“张三”,年龄为25的数据项:```cppint nIndex = m_listCtrl.InsertItem(0, _T("张三"));m_listCtrl.SetItemText(nIndex, 1, _T("25"));```3. 更改数据项内容:使用SetItemText函数,我们可以修改List Control中数据项的内容。
例如,如果我们想修改“张三”的年龄为30,可以使用以下代码:```cppm_listCtrl.SetItemText(nIndex, 1, _T("30"));```4. 删除数据项:使用DeleteItem函数,我们可以删除List Control中的数据项。
mfc使用手册

mfc使用手册MFC(Microsoft Foundation Class Library)是微软提供的一个类库,用于简化Windows应用程序的开发过程。
以下是MFC使用手册的简要介绍:1. 简介:MFC是一个基于C++的类库,它提供了许多用于构建Windows应用程序的类和函数。
通过使用MFC,开发人员可以快速地构建具有一致外观和感觉的应用程序,并利用Windows平台提供的各种功能。
2. 安装和配置:在开始使用MFC之前,您需要安装Microsoft Visual Studio并确保安装了MFC开发工作负载。
安装完成后,您需要创建一个新的MFC项目或打开一个现有的MFC项目。
3. 创建MFC应用程序:要创建一个新的MFC应用程序,您需要使用Microsoft Visual Studio的向导。
选择“File”菜单中的“New”选项,然后选择“Project”。
在弹出的对话框中,选择“MFC Application”并按照向导的提示完成应用程序的创建过程。
4. MFC类库:MFC提供了许多用于构建应用程序的类和函数。
以下是一些常用的MFC类:CWinApp:应用程序对象类,用于管理应用程序级别的操作,例如初始化应用程序和退出应用程序。
CWnd:窗口类,用于管理窗口的各种操作,例如创建窗口、处理消息和绘制窗口。
CDocument:文档类,用于管理应用程序中的文档数据。
CView:视图类,用于管理应用程序中的视图,例如显示文档数据和与用户交互。
5. MFC消息处理:MFC使用消息传递机制来处理用户与应用程序的交互。
每个窗口和控件都处理一组预定义的消息,例如鼠标点击、键盘输入和窗口大小改变等。
通过覆盖类中的虚函数,您可以定义应用程序如何响应这些消息。
6. MFC对话框和控件:MFC提供了许多内置的对话框和控件,例如按钮、文本框和列表框等。
您可以使用对话框编辑器来创建对话框,并将控件拖放到对话框中。
MFC树形控件(CTreeCtrl)用法
MFC树形控件(CTreeCtrl)用法树形控件可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点。
MFC中使用CTreeCtrl类来封装树形控件的各种操作。
通过调用BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些树形控件的专用风格:TVS_HASLINES 在父/子结点之间绘制连线TVS_LINESATROOT 在根/子结点之间绘制连线TVS_HASBUTTONS 在每一个结点前添加一个按钮,用于表示当前结点是否已被展开TVS_EDITLABELS 结点的显示字符可以被编辑TVS_SHOWSELALWAYS 在失去焦点时也显示当前选中的结点TVS_DISABLEDRAGDROP 不允许Drag/DropTVS_NOTOOLTIPS 不使用ToolTip显示结点的显示字符在树形控件中每一个结点都有一个句柄(HTREEITEM),同时添加结点时必须提供的参数是该结点的父结点句柄,(其中根Root结点只有一个,既不可以添加也不可以删除)利用HTREEITEM InsertItem( LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAf ter = TVI_LAST );可以添加一个结点,pszItem为显示的字符,hParent代表父结点的句柄,当前添加的结点会排在hInsertAf ter表示的结点的后面,返回值为当前创建的结点的句柄。
下面的代码会建立一个如下形式的树形结构:+--- Parent1+--- Child1_1+--- Child1_2+--- Child1_3+--- Parent2+--- Parent3/*假设m_tree为一个CTreeCtrl对象,而且该窗口已经创建*/HTREEITEM hItem,hSubItem;hItem = m_tree.InsertItem("Parent1",TVI_ROOT);在根结点上添加Parent1hSubItem = m_tree.InsertItem("Child1_1",hItem);//在Parent1上添加一个子结点hSubItem = m_tree.InsertItem("Child1_2",hItem,hSubItem);//在Parent1上添加一个子结点,排在Child1_1后面hSubItem = m_tree.InsertItem("Child1_3",hItem,hSubItem);hItem = m_tree.InsertItem("Parent2",TVI_ROOT,hItem);hItem = m_tree.InsertItem("Parent3",TVI_ROOT,hItem);如果你希望在每个结点前添加一个小图标,就必需先调用CImageList* SetImageList( CImageList * pImageList, int nImageListType );指明当前所使用的ImageList,nImageListType为TVSIL_NORMAL。
MFC常用控件用法
MFC 常用整理MFC USUAL TRIM艾德温*范克里夫学生所在学院:信息科学与工程学院学生所在班级:软件2班学生姓名:王海波学生学号:110120010061指导教师:王海波教务处2014年 7 月目录MFC 常用知识第一回:整体感知第二回: MFC是什么第三回:开始用MFC创建窗体以及MFC的结构第四回: VS2010界面组织MFC 常用控件写法常用控件介绍常用控件使用按钮的使用编辑框的使用选项卡的使用报表的使用MFC 常用知识第一回:想写一个像上图(大二写的的吧。
囧)的窗体程序,我们就可以用简单的MFC.怎么用MFC做出上图的窗体?1 如下图用vs2010的可视化工具栏拖控件,很简单2 然后双击某个按钮,vs2010会自动弹出函数,我们就可以在函数中填写代码。
之后,每当你按那个按钮一次,你在函数中写的代码就会执行一次。
3 显然这一点功能远远不够,更多请看下回。
第二回:回顾:第一回讲的就是一个窗体初级的原型。
接下来说说更深一点的东西。
MFC 是什么?(上面的窗体等是哪里来的?)定义:MFC: Microsoft function class (微软功能类)理解:MFC 就是许许多多的类。
跟我们有什么联系:我们利用MFC中的许多类作为工具来开发出窗体。
更浅显的理解:MFC就是工具,让我们能快速开发的工具。
之前穆云峰老师的windows编程课记着么,最开始窗体就是那么一句句代码手动写出来的,特繁琐,所以微软就写了功能封装类,把一些重复的工作写成类,之后写窗体就更方便了。
第三回:一:开始用MFC 写窗体123其他不知道的全点下一步。
最后一步:二:怎么利用MFC三个类: CtestApp CtestDlg(这两个类是自动生成的) CDialogEx (MFC的类)1 CtestApp 是用来封装主函数Main的。
并且定义了一个全局变量TheApp。
2 CDialogEx 封装了创建窗体的基本代码。
MFCGridCtrl控件_使用说明(中英文)
2.4.1
行和列的设置 .......................................................................................................8
2.4.2
单元格信息设置 .................................................................................................11
2.3 主要类介绍
2.3.1 CGridCtrl 类
CGridCtrl 是控件类,派生于 CWnd 类,代表整个网格对象,具备了针对网格的所有基本
I
1 引言
1.1 目的
本文记录了作者在学习了解并使用 GridCtrl 的过程中的心得体会,希望能够对今后学 习使用 GridCtrl 控件的其他同事有所帮助,使其更快上手。
1.2 参考资料
1) CGridCtrl 学习指南 网址:/blog/static/21769242200822911559438/ 2) CGridCtrl 使用详解 网址:/incwar/archive/2009/01/17/3807283.aspx 3) CGridCtrl 源代码一份。需要的同事,可以 OA 上发邮件给我。 4) 作者亲手制做的对于 CGridCtrl 的使用实例:GridCtrlTest。需要的同事,可以 OA 上发 邮件给我。
3.2.2
初使化 GridCtrl 控件..........................................................................................25
mfc clistctrl 使用
mfc clistctrl 使用MFC(Microsoft Foundation Classes)是一套由Microsoft开发的C++类库,用于快速开发Windows应用程序。
CListCtrl是MFC中的一个常用控件,用于展示列表数据。
本文将介绍如何使用MFC的CListCtrl来展示和操作数据列表。
一、CListCtrl的基本使用在使用MFC的CListCtrl之前,需要先在Dlg中添加一个CListCtrl 控件。
可以通过拖拽的方式将其添加到Dlg,并设置好控件的相关属性(如ID、位置、大小等)。
在初始化过程中,需要对CListCtrl进行一些基本设置。
可以通过以下代码实现:```cpp// 声明一个指针指向CListCtrl对象CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST1);// 设置CListCtrl的风格pListCtrl->SetExtendedStyle(LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES);// 添加表头pListCtrl->InsertColumn(0, _T("列名称1"), LVCFMT_LEFT, 150);pListCtrl->InsertColumn(1, _T("列名称2"), LVCFMT_LEFT, 150);pListCtrl->InsertColumn(2, _T("列名称3"), LVCFMT_LEFT, 150);```通过上述代码,我们完成了CListCtrl的基本设置,包括设置风格、添加表头等。
二、添加数据接下来,我们需要向CListCtrl中添加数据。
可以通过以下代码实现:```cpp// 添加第一行数据pListCtrl->InsertItem(0, _T("数据1"));pListCtrl->SetItemText(0, 1, _T("数据2"));pListCtrl->SetItemText(0, 2, _T("数据3"));// 添加第二行数据pListCtrl->InsertItem(1, _T("数据4"));pListCtrl->SetItemText(1, 1, _T("数据5"));pListCtrl->SetItemText(1, 2, _T("数据6"));```通过上述代码,我们在CListCtrl中成功添加了两行数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MFC控件使用说明
MFC(Microsoft Foundation Class)是一套面向C++开发的框架,
用于快速开发图形用户界面(GUI)应用程序。
MFC提供了一套丰富的控
件(Controls),用于实现各种功能和交互效果。
本文将介绍一些常用的MFC控件的使用说明。
1. Button 控件:Button控件用于显示一个按钮,用户点击按钮时
会触发相应的事件处理函数。
使用方式如下:
-在对话框资源中添加一个按钮控件,并为其设置ID号。
- 在对话框类的变量中声明按钮控件的成员变量,使用CButton类型。
- 在OnInitDialog函数中使用GetDlgItem函数获取按钮控件的指针,并使用它调用相应的函数,如SetWindowText设置按钮的文本内容。
3. List Box 控件:List Box控件用于显示一个列表,用户可以选
择其中的项。
使用方式如下:
-在对话框资源中添加一个列表框控件,并为其设置ID号。
- 在对话框类的变量中声明列表框控件的成员变量,使用CListBox
类型。
- 在OnInitDialog函数中使用GetDlgItem函数获取列表框控件的指针,并使用它调用相应的函数,如AddString添加项,SetCurSel设置选
中项。
-在对话框资源中添加一个组合框控件,并为其设置ID号。
- 在OnInitDialog函数中使用GetDlgItem函数获取组合框控件的指针,并使用它调用相应的函数,如AddString添加项,SetCurSel设置选
中项。
5. Check Box 控件:Check Box控件用于显示一个复选框,用户可
以选中或取消选中。
-在对话框资源中添加一个复选框控件,并为其设置ID号。
- 在对话框类的变量中声明复选框控件的成员变量,使用CButton类型。
- 在OnInitDialog函数中使用GetDlgItem函数获取复选框控件的指针,并使用它调用相应的函数,如SetCheck设置选中状态。
6. Radio Button 控件:Radio Button控件用于显示一组互斥的选项,用户可以选择其中的一个。
使用方式类似Check Box控件。
7. Slider 控件:Slider控件用于显示一个滑块,用户可以通过滑
动滑块来改变数值。
使用方式如下:
-在对话框资源中添加一个滑块控件,并为其设置ID号。
- 在对话框类的变量中声明滑块控件的成员变量,使用CSliderCtrl
类型。
- 在OnInitDialog函数中使用GetDlgItem函数获取滑块控件的指针,并使用它调用相应的函数,如SetRange设置滑块的取值范围,SetPos设
置滑块的位置。
上述介绍了一些常用的MFC控件的使用方式,但还有很多其他的控件
可以使用,例如进度条、图片框、静态文本等。
在使用这些控件的过程中,
还可以通过设置控件的样式和属性,以及添加事件处理函数,实现更复杂的功能和交互效果。
通过学习和掌握MFC控件的使用,可以大大提高GUI 应用程序的开发效率和用户体验。