⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inspectorbar.h

📁 AUTOCAD 程序员使用的
💻 H
字号:
//-----------------------------------------------------------------------------
#if !defined(ARX__INSPECTORBAR_H__19990406_090939)
#define ARX__INSPECTORBAR_H__19990406_090939

//-----------------------------------------------------------------------------
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

//-----------------------------------------------------------------------------
#include "TTreeCtrl.h"

//-----------------------------------------------------------------------------
#define OBJECT_IMG		0
#define DWG_IMG			OBJECT_IMG+1
#define SYMBT_IMG		OBJECT_IMG+2
#define DICT_IMG		OBJECT_IMG+3
#define SYMBTR_IMG		OBJECT_IMG+4
#define REACT_IMG		OBJECT_IMG+5
#define REACTP_IMG		OBJECT_IMG+6
#define REACTPN_IMG		OBJECT_IMG+7
#define XDATA_IMG		OBJECT_IMG+8
#define ENTITY_IMG		OBJECT_IMG+9
#define ENTITY_E_IMG	OBJECT_IMG+10
#define SUBENTITY_IMG	OBJECT_IMG+11
#define SEQEND_IMG		OBJECT_IMG+12
#define TEXT_IMG		OBJECT_IMG+13
#define ERASED_IMG		OBJECT_IMG+14
#define BLKBEGIN_IMG	OBJECT_IMG+15
#define EXTDICT_IMG		OBJECT_IMG+16
#define GROUP_LINK		OBJECT_IMG+17

#define BLOCK_IMG		18
#define POINT_IMG		BLOCK_IMG+1
#define ARC_IMG			BLOCK_IMG+2
#define CIRCLE_IMG		BLOCK_IMG+3
#define LINE_IMG		BLOCK_IMG+4
#define TRACE_IMG		BLOCK_IMG+5
#define SOLID_IMG		BLOCK_IMG+6
#define RAY_IMG			BLOCK_IMG+7
#define XLINE_IMG		BLOCK_IMG+8
#define _PLINE_IMG		BLOCK_IMG+9
#define _2DPLINE_IMG	BLOCK_IMG+9
#define _3DPLINE_IMG	BLOCK_IMG+10
#define MLINE_IMG		BLOCK_IMG+11
#define ATTDEF_IMG		BLOCK_IMG+12
#define SPLINE_IMG		BLOCK_IMG+13
#define _3DSOLID_IMG	BLOCK_IMG+14
#define INSERT_IMG		BLOCK_IMG+15
#define ELLIPSE_IMG		BLOCK_IMG+16
#define MTEXT_IMG		BLOCK_IMG+17
#define REGION_IMG		BLOCK_IMG+18
#define SHAPE_IMG		BLOCK_IMG+19

#define _2DVERTEX_IMG	SUBENTITY_IMG
#define _3DVERTEX_IMG	SUBENTITY_IMG
#define ATTRIBUTE_IMG	SUBENTITY_IMG
#define BLKEND_IMG		SEQEND_IMG

//-----------------------------------------------------------------------------
class CInspectorBar : public CAcDialogBar {
	DECLARE_DYNAMIC (CInspectorBar)

protected:
	TTreeCtrl *mpTree ;

public:
	BOOL mbSeeIcons ;
	BOOL mbSeeKeys ;
	BOOL mbSeeSymbolNames ;
	BOOL mbSeeDxfNames ; //----- versus AcDb names
	BOOL mbSeeObjectIds ;
	BOOL mbSeePersReactors ;
	BOOL mbSeeXdatas ;
	BOOL mbSeeReactors ;
	BOOL mbSeeErasedObjects ;

protected:
	CMapStringToString mObjMap ;
	CMapStringToPtr mImgMap ;
	CImageList mImgIcons ;

	AcDbObjectIdArray mIdErased ;
	BOOL mbFlag ;

public:
	CInspectorBar () ;
	virtual ~CInspectorBar () ;

	//{{AFX_DATA(CInspectorBar)
	enum { IDD = IDD_INSPECTOR } ;
	//}}AFX_DATA

	//{{AFX_VIRTUAL(CInspectorBar)
	public:
	virtual BOOL Create(CFrameWnd *pParent, UINT nIDTemplate, UINT style, UINT nID);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

protected:
	//{{AFX_MSG(CInspectorBar)
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnMenu();
	//}}AFX_MSG
	afx_msg void OnUpdateUI (CCmdUI *pCmdUI) ;

	afx_msg void OnSeeIcons () ;
	afx_msg void OnSeeKeys () ;
	afx_msg void OnSeeSymbolNames () ;
	afx_msg void OnSeeDxfNames () ;
	void ChangeLabels (HTREEITEM hParent) ;
	afx_msg void OnSeeObjectIds () ;
	afx_msg void OnSeeErasedObjects () ;
	afx_msg void OnAutoScroll () ;
	afx_msg void OnAbout () ;

	void PasteBmpInBmp (CBitmap *org, CBitmap *dest, COLORREF corg =RGB (255, 0, 255)) ;
	void CleanBmp (CBitmap *bm, COLORREF corg =RGB (192, 192, 192), COLORREF ncr =RGB (255, 255, 255)) ;
	void AssignImages () ;

protected:
	HTREEITEM InsertItem (LPCTSTR lpszItem, HTREEITEM hParent, HTREEITEM hInsertAfter, AcRxObject *pObj, int image) ;
	HTREEITEM CreateItem (LPCTSTR lpszItem, HTREEITEM hParent, HTREEITEM hInsertAfter, AcRxObject *pObj) ;
	CString GetTitle (AcRxObject *pObject) ;
	CString GetName (AcRxObject *pObj) ;
	int GetImage (AcRxObject *pObj) ;

protected:
	HTREEITEM FindItemPosition (HTREEITEM hItem, DWORD data, BOOL bRecurs =FALSE) ;
	HTREEITEM FindItemPosition (AcRxObject *pObj) ;
	HTREEITEM FindParentPosition (AcDbObject *pObj) ;
	HTREEITEM FindPreviousSubEntity (AcDbEntity *pObj) ;
	HTREEITEM FindPreviousEntity (AcDbEntity *pObj) ;

public:
	void OnNewObj (AcRxObject *p) ;
	void OnUpdObj (AcRxObject *p) ;
	void OnDelObj (AcRxObject *p) ;
	friend void OnSaved (CTreeCtrl *pTree, HTREEITEM hItem) ;
	void Saved (AcDbDatabase *pDb) ;

	HTREEITEM Scan (AcDbDatabase *pDb) ;
protected:
	HTREEITEM Scan (HTREEITEM hParent, AcDbSymbolTable *p) ;
	HTREEITEM Scan (HTREEITEM hParent, AcDbSymbolTableRecord *p) ;
	HTREEITEM Scan (HTREEITEM hParent, AcDbDictionary *p) ;
	HTREEITEM Scan (HTREEITEM hParent, AcDbEntity *p) ;
	HTREEITEM Scan (HTREEITEM hParent, AcDbObject *p) ;
	void ScanSubObjects (HTREEITEM hParent, AcDbObject *p) ;

	DECLARE_MESSAGE_MAP()
} ;

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
extern CInspectorBar *pInspTree ;

#endif //----- !defined(ARX__INSPECTORBAR_H__19990406_090939)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -