实验一 树控件

更新时间:2024-03-05 18:04: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、对数控件对产生更加浓郁的兴趣。

本文来源:https://www.bwwdw.com/article/0iwa.html

Top