cdbtreenode.h
来自「本人买的<<VC++项目开发实例>>源代码配套光盘.」· C头文件 代码 · 共 95 行
H
95 行
// Copyright (C) 1991 - 1999 Rational Software Corporation
#if defined (_MSC_VER) && (_MSC_VER >= 1000)
#pragma once
#endif
#ifndef _INC_CDBTREENODE_3C3734EF0067_INCLUDED
#define _INC_CDBTREENODE_3C3734EF0067_INCLUDED
//##ModelId=3C37774B0187
typedef struct tagDBTREE_NODE_CONTEXT
{
//m_pos //当前的位置
POINT m_pos;
//m_NodeType//当前的数据结点的类型。
UINT m_NodeType;
//父窗口
CWnd *m_pParentWnd;
}DBTREE_NODE_CONTEXT;
class CDBExpDatabase;
//##ModelId=3C3734EF0067
class CDBTreeNode
:public CObject
{
DECLARE_DYNAMIC(CDBTreeNode)
public:
//当用户使用鼠标的右键要弹出菜单的时候,这个函数被调用.
//它会立即创建一个弹出式的菜单 m_ContextMenu
//然后会调用BuildContextMenu来修改这个菜单
//##ModelId=3C3735120194
virtual BOOL PopupContextMenu(DBTREE_NODE_CONTEXT &context);
//hItem是用来展开的树的结点。
//state是用来表示目前的动作是要展开还是关闭。
//##ModelId=3C41D26B03B5
virtual BOOL ExpandItem(HTREEITEM hItem, UINT state)
= 0;
protected:
//##ModelId=3C41D26C00B3
virtual const char * GetTreeNodeCaption();
//##ModelId=3C41D26C00DC
virtual void OnMenuItemClick(UINT nCmd);
//这个函数是用来修改菜单的, 当它返回的时候,
//一个符合上下文环境的弹出式菜单就被创建并修改成功.
//##ModelId=3C37358B0238
virtual void BuildContextMenu(DBTREE_NODE_CONTEXT & context);
//##ModelId=3C3734FC0138
CMenu * m_pContextMenu;
private:
//##ModelId=3C3734FC0138
//用来表示在树中的结点的句柄.
//##ModelId=3C5B9B9F0210
HTREEITEM m_hItem;
public:
//##ModelId=3CDCDA570203
char * GetDatabaseType();
//##ModelId=3C673C070107
virtual void Erase(CDBTreeNode * pTreeNode);
//##ModelId=3C5CC9C70128
virtual BOOL OpenRelatedView(LPARAM lParam)
= 0;
//##ModelId=3C5CC9C7013C
int& ResetListViewItemCounter();
//##ModelId=3CCC33700399
LVITEM m_lvInsertStruct;
/*在开始设计的时候,给BuildLVITEM采用的不是虚函数,可是到
前来看,这是不可以的,因为,这样的话就不能更改在右视中的
图标。*/
//##ModelId=3C5CC9C70150
virtual void BuildLVITEM(int& nIndex);
//##ModelId=3C5B9B9F02B1
HTREEITEM Get_hItem();
//##ModelId=3C5B9B9F02BB
void Set_hItem(HTREEITEM hItem);
//##ModelId=3C5B9B9F02C5
CDBExpDatabase *GetDatabase();
//##ModelId=3CCC337003C1
static CTreeCtrl * m_pTreeCtrl;
//##ModelId=3C41D26C0104
virtual void BuildTVITEM(HTREEITEM hParentItem);
//##ModelId=3C41296501DF
CDBTreeNode();
//##ModelId=3C41296501E9
virtual ~CDBTreeNode();
//##ModelId=3CCC33710001
TVINSERTSTRUCT m_tvInsertStruct;
};
#endif /* _INC_CDBTREENODE_3C3734EF0067_INCLUDED */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?