实验一 树控件
实验一树控件
实验目的:
1. 了解树控件的基本原理
2. 编制简单树控件程序并运行,熟悉树控件的常用操作 3. 了解树控件的程序结构
4. 了解树控件父节点与子节点的关系
实验内容:
1. 本实验采用Visual C++6.0程序搭建树控件实例. 2. 添加并设计对话框 3. 完善CTreeDlg代码 4. 调用对话框
实验步骤:
1、添加并设计对话框
(1) 用MFC AppWizard(exe)创建一个默认的单文档应用程序Ex_Ctrl7SDI。
(2) 向应用程序中添加一个对话框资源IDD_TREE,标题定为“树控件示例”,字体设为“宋体,9号”,创建此对话框类为CTreeDlg。
(3) 删除[Cancel]按钮,将[OK]的标题改为“退出”。打开对话框网格,参看图的控件布局,为对话框添加一个树控件,取其默认的ID号IDC_TREE1。打开该控件的属性对话框,按图进行设置。
2、完善CTreeDlg代码
(1)打开ClassWizard的Member Variables页面,看看Class name是否是CTreeDlg,选中IDC_TREE1,双击鼠标或单击Add Variables按钮,为其添加一个控件变量m_TreeCtrl,类型为CTreeCtrl。
(2)为CTreeDlg类添加一个图像列表类CImageList对象m_ImageList。
(3) 用MFC ClassWizard为CTreeDlg类添加WM_INITDIALOG消息映射,并添加下列初始化代码:(4) 用MFC ClassWizard为树控件IDC_TREE1添加NM_RCLICK(右击)的消息映射,并增加下列代码:
void CTreeDlg::OnRclickTree1(NMHDR* pNMHDR, LRESULT* pResult) {
CPoint point; UINT uFlags;
::GetCursorPos( &point ); // 获取当前鼠标所在的屏幕坐标 m_TreeCtrl.ScreenToClient( &point ); // 将屏幕坐标转换成树控件中的客户坐标
HTREEITEM hSel = m_TreeCtrl.HitTest(point, &uFlags); // 测试鼠标点是否在一个节点项上,若是,选中该节点 if ((hSel != NULL) && (TVHT_ONITEM &uFlags)) { } }
3. 调用对话框
(1) 打开Ex_Ctrl7SDI单文档应用程序的菜单资源,添加顶层菜单项“测试(&T)”,在其下添加一个菜单项“树控件(&T)”,ID为ID_TEST_TREE。
(2) 用MFC ClassWizard为CMainFrame类添加菜单项ID_TEST_TREE的COMMAND消息映射,
*pResult = 0;
m_TreeCtrl.SelectItem(hSel);
CStringstrItem = m_TreeCtrl.GetItemText( hSel ); MessageBox( strItem );
取默认的映射函数名,并添加下列代码: void CMainFrame::OnTestTree() {
CTreeDlgdlg; dlg.DoModal(); }
(3) 在文件MainFrm.cpp的前面添加CTreeDlg类的头文件包含: #include \ #include \(4) 编译运行并测试。
实验问题://不要自问自答,要写在实验中遇到的问题以及如何解决的
1. 树控件的组成?
树控件是由父节点和子节点组成的
2. 什么是子节点,什么是父节点,什么是根节点?
位于某一节点之下的节点成为子节点,位于子节点之上的节点称为该节点的父节点,位于输的顶层或根部的节点称为根节点 3. NM_TREEVIEW的结构定义
TypedefstructtagNMTREEVIEW{ NMHDR hdr; UINT action; TVITEM itemOld; TVITEM itemNew; POINT ptDrag; }
实验体会:
通过此次关于数控件的实验,使我对数控件有了更深的认识: 1、知道如何添加如何设计对话框。
2、如何用用MFC ClassWizard为CTreeDlg类添加WM_INITDIALOG消息映射。
3、用MFC ClassWizard为树控件IDC_TREE1添加NM_RCLICK(右击)的消息映射,并增加下列代码是怎么编写的。
4、对数控件对产生更加浓郁的兴趣。
相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




