Visual C++ 6.0 实用教程.ppt

  1. 1、本文档共412页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VisualC6.0实用教程

7.3视图及视图类 7.3.3树控件和树视图 树形视图的风格 7.3视图及视图类 树控件的常用操作 函数InsertItem用来向树控件插入一个新项,操作成功后,函数返回新项的句柄,否则返回NULL。函数原型如下: HTREEITEM InsertItem( UINT nMask, LPCTSTR lpszItem,int nImage, int nSelectedImage, UINT nState, UINT nStateMask, LPARAM lParam, HTREEITEM hParent, HTREEITEM hInsertAfter ); HTREEITEM InsertItem( LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST ); HTREEITEM InsertItem( LPCTSTR lpszItem, int nImage, int nSelectedImage, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST ); 函数DeleteItem和DeleteAllItems分别用来删除指定的项和全部的项。它们的原型如下: BOOL DeleteAllItems( ); BOOL DeleteItem( HTREEITEM hItem ); 函数Expand用来用来展开或收缩指定父项的所有子项,其原型如下: BOOL Expand( HTREEETEM hItem, UINT nCode ); 7.3视图及视图类 树形视图控件的通知消息 树视图可以用ClassWizard映射公共控件消息和树控件消息。常用的树控件消息有: TVN_BEGINDRAG 开始拖放操作 TVN_BEGINLABELEDIT 开始编辑标签 TVN_BEGINRDRAG 鼠标右按钮开始拖放操作 TVN_ENDLABELEDIT 标签编辑结束 TVN_ITEMEXPANDED 含有子项的父项已展开或收缩 TVN_ITEMEXPANDING 含有子项的父项将要展开或收缩 TVN_SELCHANGED 当前选择项发生改变 TVN_SELCHANGING 当前选择项将要发生改变 用ClassWizard处理上述这些消息时,其消息处理函数参数中往往会出现NM_TREEVIEW结构,定义如下: typedef struct tagNMTREEVIEW { NMHDR hdr; // 含有通知代码的信息结构 UINT action; // 通知方式标志 TVITEM itemOld; // 原有项的信息 TVITEM itemNew; // 现在项的信息 POINT ptDrag; // 事件产生时,鼠标的位置 } NMTREEVIEW, FAR *LPNMTREEVIEW; 7.3视图及视图类 [例Ex_Tree] 遍历本地磁盘所有的目录。 (1)用MFC AppWziard创建一个单文档应用程序Ex_Tree,在创建的第六步将视图的基类选择为CTreeView。 (2)按快捷键Ctrl+R,选定资源类型Icon,单击Import按钮,从外部调入六个图标,分别表示“我的电脑”、“软驱”、“硬盘”、“光驱”、“文件夹”以及“打开的文件夹”,相应的ID号设为IDI_MYCOMP、IDI_35FLOPPY、IDI_DRIVE、IDI_CDDRIVE、IDI_CLSDFOLD和IDI_OPENFOLD,如图。 图7.12 从外部调入的图标 7.3视图及视图类 (3)为CEx_TreeView类添加下列成员函数和成员函数: public: CImageList m_ImageList; CString m_strPath; // 文件夹路径 void InsertFoldItem(HTREEITEM m_hItem); void SetCtrlStyle(HWND hWnd, DWORD dwNewStyle); InsertFoldItem函数的代码如下: void CEx_TreeView::InsertFoldItem(HTREEITEM m_hItem) { CFileFind finder; BOOL bWorking = finder.FindFile(m_strPath); CString m_str;

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档