实验一 树控件
更新时间:2023-12-21 02:39:01 阅读量: 教育文库 文档下载
- 实验一小推荐度:
- 相关推荐
实验一树控件
实验目的:
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、对数控件对产生更加浓郁的兴趣。
正在阅读:
实验一 树控件12-21
暑假二三件趣事作文500字06-19
学校未成年人思想道德建设先进单位申报材料05-06
社交礼仪05-04
06工管A卷09-21
洗衣机控制系统的设计一10-03
公用管道全面检验报告(埋地管道)01-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 控件
- 实验