PageListCtrl.h
上传用户:yangzi5763
上传日期:2007-01-02
资源大小:239k
文件大小:6k
源码类别:

ActiveX/DCOM/ATL

开发平台:

Visual C++

  1. /************************************
  2.   REVISION LOG ENTRY
  3.   Revision By: Mihai Filimon
  4.   Revised on 10/14/98 10:23:29 AM
  5.   Comments: PageListCtrl.h : header file
  6.  ************************************/
  7. #if !defined(AFX_PAGELISTCTRL_H__567504B4_6335_11D2_86BB_0040055C08D9__INCLUDED_)
  8. #define AFX_PAGELISTCTRL_H__567504B4_6335_11D2_86BB_0040055C08D9__INCLUDED_
  9. #if _MSC_VER >= 1000
  10. #pragma once
  11. #endif // _MSC_VER >= 1000
  12. //
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CPageListCtrl window
  15. #include <afxcmn.h>
  16. #include "AsControls.h" // Added by ClassView
  17. #include "ControlsWnd.h" // Added by ClassView
  18. #include "ItemToolTipCtrl.h"
  19. class CXPropertiesWndCtrl;
  20. class CPageListCtrl : public CListCtrl
  21. {
  22. friend class CXPropertiesWndCtrl;
  23. friend class CXFloorPropertiesWnd;
  24. friend class CControlsWnd;
  25. friend class CControlsWnd_CEdit;
  26. friend class CControlsWnd_CFont;
  27. friend class CControlsWnd_CComboBox;
  28. friend class CControlsWnd_CUserComboBox;
  29. friend class CControlsWnd_CColorComboBox;
  30. DECLARE_DYNCREATE(CPageListCtrl)
  31. // Construction
  32. public:
  33. CPageListCtrl(CXPropertiesWndCtrl* pControl = NULL, int nHeight = 18);
  34. // Attributes
  35. public:
  36. // Operations
  37. public:
  38. virtual BOOL IsGroup() {return FALSE;};
  39. // Overrides
  40. // ClassWizard generated virtual function overrides
  41. //{{AFX_VIRTUAL(CPageListCtrl)
  42. public:
  43. virtual BOOL PreTranslateMessage(MSG* pMsg);
  44. protected:
  45. virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
  46. //}}AFX_VIRTUAL
  47. // Implementation
  48. public:
  49. virtual void Expand(int nItem, BOOL& bExppanded);
  50. virtual int InsertItemVrt(int nItem, LPCTSTR lpszItemName, LPARAM lParam, LPCTSTR lpszGroup = NULL);
  51. virtual BOOL DeleteItemVrt(int nItem);
  52. virtual void OnFontChanged();
  53. void SetIndexPage(long nIndexPage);
  54. const long GetIndexPage();
  55. static COLORREF m_rgbDisableItem;
  56. static COLORREF m_rgbEnableItem;
  57. static CAsControls m_asControls;
  58. BOOL CreateItemFont(const LOGFONT* pLogFont);
  59. virtual void SetPropertyName(int nIndexProperty, LPCTSTR lpszPropertyName);
  60. CString GetPropertyName(int nIndexProperty);
  61. virtual BOOL IsEditItem(int nItem);
  62. virtual BOOL IsButtonItem(int nItem);
  63. virtual LPCTSTR GetItemAsControl(int nIndex);
  64. virtual BOOL IsGrayedItem(int nItem);
  65. virtual BOOL IsEnableItem(int nIndex);
  66. virtual BOOL IsBlackItem(int nIndex);
  67. virtual void Save(CString& stream);
  68. virtual void Load(CString& stream);
  69. virtual void OnNew(CWnd* pParentWnd, UINT nID = 0);
  70. virtual ~CPageListCtrl();
  71. const CString GetDefaultValue(int nIndexProperty);
  72. virtual CRect GetLastRect(int nItem);
  73. virtual CXPropertiesWndCtrl* GetControlWnd();
  74. // Generated message map functions
  75. protected:
  76. virtual void DeleteAll();
  77. virtual CControlsWnd* GetEditingControl();
  78. int m_nColumnName;
  79. int m_nColumnValue;
  80. CFont* m_pDrawFont;
  81. virtual void OnBeginDrawItem( CDC* pDC, int nItem, LPARAM itemData);
  82. virtual void OnEndDrawItem( CDC* pDC, int nItem, LPARAM itemData);
  83. void InvalidateNew();
  84. virtual BOOL IsSizingLine();
  85. virtual BOOL IsEditMode();
  86. CItemToolTipCtrl m_toolTip;
  87. virtual void ResetEditControl();
  88. virtual BOOL CreateEditControl(int nItem);
  89. CWnd* GetWindowEditing();
  90. CControlsWnd* m_pEditControl;
  91. virtual void NextItem(int nItem);
  92. virtual BOOL OpenEditing(int nItem, LPARAM lParam = 0);
  93. virtual void CloseEditing();
  94. CRect m_btnRect;
  95. virtual CXFloorPropertiesWnd* GetFloorWnd();
  96. int m_nHeight;
  97. virtual const UINT GetDefaultStyle();
  98. virtual const UINT GetDefaultExStyle();
  99. static BOOL m_bAutoResizingColumns;
  100. virtual int OnLoad(LPCTSTR lpszName, LPCTSTR lpszAs, LPCTSTR lpszType, LPCTSTR lpszGroup);
  101. virtual BOOL OnInit();
  102. CControlsWnd* GetControl(int nIndex, BOOL bDelete = TRUE);
  103. virtual BOOL SetDefaultValue(int nIndexProperty, LPCTSTR lpszdefaultValue);
  104. virtual void OnChangedItem(long nItem);
  105. //{{AFX_MSG(CPageListCtrl)
  106. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  107. afx_msg void OnEndlabeledit(NMHDR* pNMHDR, LRESULT* pResult);
  108. afx_msg void OnSize(UINT nType, int cx, int cy);
  109. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  110. afx_msg void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
  111. afx_msg void OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);
  112. afx_msg void OnItemchanged(NMHDR* pNMHDR, LRESULT* pResult);
  113. afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  114. afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
  115. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  116. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  117. afx_msg void OnKillFocus(CWnd* pNewWnd);
  118. afx_msg void OnInsertitem(NMHDR* pNMHDR, LRESULT* pResult);
  119. afx_msg void OnItemchanging(NMHDR* pNMHDR, LRESULT* pResult);
  120. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  121. afx_msg void OnRButtonDblClk(UINT nFlags, CPoint point);
  122. afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  123. afx_msg void OnDeleteitem(NMHDR* pNMHDR, LRESULT* pResult);
  124. //}}AFX_MSG
  125. DECLARE_MESSAGE_MAP()
  126. DECLARE_EVENTSINK_MAP( )
  127. private:
  128. BOOL IsMouseCaptured();
  129. CPoint m_ptnCapture;
  130. void ResizeColumns();
  131. CXPropertiesWndCtrl* m_pControl;
  132. long m_nIndexPage;
  133. BOOL UserPaint(int nItem, CDC* pDC, CRect rect);
  134. CFont m_itemFont;
  135. int m_nOpenedProperty;
  136. void SetActiveProperty(int nIndexProperty);
  137. int GetActiveProperty();
  138. BOOL CheckEditMode(int nItem, CPoint point, int nSelected);
  139. void DrawButton(CDC* pDC, CRect rB, int nItem, BOOL bClick);
  140. int m_nSelected;
  141. HICON m_hIconDown;
  142. HICON m_hIconUp;
  143. HICON m_hIconDots;
  144. HICON m_hIconClick;
  145. HICON m_hIconReturn;
  146. HICON m_hIconLink;
  147. HICON m_hIconFont;
  148. };
  149. /////////////////////////////////////////////////////////////////////////////
  150. //{{AFX_INSERT_LOCATION}}
  151. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  152. #endif // !defined(AFX_PAGELISTCTRL_H__567504B4_6335_11D2_86BB_0040055C08D9__INCLUDED_)