VC轻松实现CTreeCtrl控件双击响应

简介: 这个陌生的指针类型常使初用树控件的编程者陷入迷茫之中。实际上我们完全不理会它,也可以实现树控件的双击响应,即在OnDblClkTree( )函数中调用树控件的成员函数CTreeCtrl::GetSelectedItem( )以获取树控件的子项句柄HTREEITEM,得到此句柄后,我们便可用下列成员函...
ClassWizard为CTreeCtrl(树控件)添加的NM_DBLCLK(双击)消息的响应函数中带有一个NMHDR * 型指针形参:

OnDblClkTree(NMHDR* pNMHDR, LRESULT* pResult) 

  这个陌生的指针类型常使初用树控件的编程者陷入迷茫之中。实际上我们完全不理会它,也可以实现树控件的双击响应,即在OnDblClkTree( )函数中调用树控件的成员函数CTreeCtrl::GetSelectedItem( )以获取树控件的子项句柄HTREEITEM,得到此句柄后,我们便可用下列成员函数获取子项各种有用信息:

  CTreeCtrl::GetItemData( )、
  CTreeCtrl::GetItemHeight( )、
  CTreeCtrl::GetItemImage( )、
  CTreeCtrl::GetItemRect( )、
  CTreeCtrl::GetItemState( )、
  CTreeCtrl::GetItemText( )。 

  例程运行结果如下图所示:



  示例代码如下:

class CTreeCtrlDlg :  public CDialog
{
…………
public:
HTREEITEM m_hTreeItem;
CImageList m_ImgLst;

// Dialog Data
//{{AFX_DATA(CTreeCtrlDlg)
enum { IDD = IDD_TREECTRL_DIALOG };
CTreeCtrl m_wndTree;//与对话框中树控件相关联
//}}AFX_DATA

// Implementation
protected:
afx_msg void OnDblClkTree(NMHDR* pNMHDR, LRESULT* pResult);
…………
}
;

void CTreeCtrlDlg::OnDblClkTree(NMHDR* pNMHDR, LRESULT* pResult) 
{
m_hTreeItem = m_wndTree.GetSelectedItem();
//以GetItemText()函数为例:
CString S1 = m_wndTree.GetItemText(m_hTreeItem);
AfxMessageBox("You have selected "+S1);
*pResult = 0; 
}
 
目录
相关文章
|
C++
基于MFC实现选项卡控件练习
基于MFC实现选项卡控件练习
72 0
基于MFC实现选项卡控件练习
|
索引
VC MFC工具栏(CToolBar)控件
一、工具栏 工具栏控件在控件面板里没有对应的选项(图标),但有一个工具栏控件类CToolBar,所以我们如果要创建一个工具栏控件并显示在窗口里的话,只能用代码来完成,事实上任何一种控件,都可以用代码创建,如CButton按钮类,现举一个用代码创建按钮控件并显示在窗口里的例子。
2500 0
|
安全
OCX控件避免弹出安全警告的类
1.要加一个头文件:         #include 2.在控件头文件中加入: 1 DECLARE_INTERFACE_MAP()2 BEGIN_INTERFACE_PART(ObjectSafety, IObjectSafety)3 STDMETHOD(GetInter...
917 0
屏蔽webbrowser控件右键的一种方法
原文:屏蔽webbrowser控件右键的一种方法 Option ExplicitPrivate Declare Sub ZeroMemory Lib "KERNEL32" Alias "RtlZeroMemory" (dest As Any, ByVal numBytes As Long)Priva...
906 0
|
C++
VC/MFC 在ListCtl 控件中随鼠标移动提示单元格信息
[cpp] view plaincopy   BEGIN_MESSAGE_MAP(CTipListCtrl, CListCtrl)       //{{AFX_MSG_MAP(CTipListCtrl)       ON_WM_MOUSEMOVE()       ON_WM...
1195 0
|
C++ Windows 数据可视化
VC/MFC 工具栏上动态添加组合框等控件的方法
引言  工具条作为大多数标准的Windows应用程序的一个重要组成部分,使其成为促进人机界面友好的一个重要工具。通过工具条极大方便了用户对程序的操作,但是在由Microsoft Visual C++开发环境所创建的应用程序框架中的工具条只是一个简单的按钮的集合,在功能上也仅仅是起到了菜单快捷方式的作用,而没有做到象VC、Word等软件的工具条那样,提供多种不同类型的标准控件如组合框、编辑框等。
1822 0
|
.NET
vc 按钮自绘
按钮自绘,将按钮区域分成三部分,左边、右边、中间都由贴图绘制,可用于手动进度条按钮,或者左右选择项按钮 cpp代码部分:   [cpp] view plaincopy   // LRSkinButton.
959 0