#pragma once #include "GlobalDefine.h" #include "EnumPropertieType.h" class CPropertiesToolBar : public CMFCToolBar { public: virtual void OnUpdateCmdUI(CFrameWnd* /*pTarget*/, BOOL bDisableIfNoHndler) { CMFCToolBar::OnUpdateCmdUI((CFrameWnd*) GetOwner(), bDisableIfNoHndler); } virtual BOOL AllowShowOnList() const { return FALSE; } }; //可停靠属性 class CPanePropertiesWnd : public CDockablePane { public: CPanePropertiesWnd(); virtual ~CPanePropertiesWnd(); public: void AdjustLayout(); void InsertGridProperty(CMFCPropertyGridProperty* pProp); void SetVSDotNetLook(BOOL bSet) { m_wndPropList.SetVSDotNetLook(bSet); m_wndPropList.SetGroupNameFullWidth(bSet); } void NoUseObjectCombo(){m_bUseObjectCombo = false;};//不要使用下拉列表 protected: CFont m_fntPropList; CComboBox m_wndObjectCombo; CPropertiesToolBar m_wndToolBar; CMFCPropertyGridCtrl m_wndPropList; bool m_bUseObjectCombo;//使用下拉列表 protected: virtual void RemoveAllProperty(){}; virtual void IniObjectCombo(){}; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnExpandAllProperties(); afx_msg void OnUpdateExpandAllProperties(CCmdUI* pCmdUI); afx_msg void OnSortProperties(); afx_msg void OnUpdateSortProperties(CCmdUI* pCmdUI); afx_msg void OnSetFocus(CWnd* pOldWnd); afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection); DECLARE_MESSAGE_MAP() void InitPropList(); void SetPropListFont(); };