UITabSplitterWnd.h
上传用户:yatsl7111
上传日期:2007-01-08
资源大小:1433k
文件大小:3k
源码类别:

图形图象

开发平台:

Visual C++

  1. //*******************************************************************************
  2. // COPYRIGHT NOTES
  3. // ---------------
  4. // You may use this source code, compile or redistribute it as part of your application 
  5. // for free. You cannot redistribute it as a part of a software development 
  6. // library without the agreement of the author. If the sources are 
  7. // distributed along with the application, you should leave the original 
  8. // copyright notes in the source code without any changes.
  9. // This code can be used WITHOUT ANY WARRANTIES at your own risk.
  10. // 
  11. // For the latest updates to this code, check this site:
  12. // http://www.masmex.com 
  13. // after Sept 2000
  14. // 
  15. // Copyright(C) 2000 Philip Oldaker <email: philip@masmex.com>
  16. //*******************************************************************************
  17. #ifndef __TABSPLITTERWND_H__
  18. #define __TABSPLITTERWND_H__
  19. // This splitter bar is persistent and will restore the previous
  20. // position and will also set the focus back to the previous pane
  21. // after the bar has been respositioned
  22. class CTRL_EXT_CLASS CTabSplitterWnd : public CSplitterWnd 
  23. {
  24. DECLARE_DYNAMIC(CTabSplitterWnd)
  25. public:
  26. CTabSplitterWnd();
  27. // for registry
  28. void SetSection(LPCTSTR szSection);
  29. // for workspace
  30. void SetPropertyItem(CRuntimeClass *pPropertyItemClass);
  31. void SetSize(int nCur,int nMin);
  32. void Apply();
  33. BOOL IsEmpty();
  34. virtual void SaveSize();
  35. virtual CWnd *GetActiveWnd();
  36. public:
  37. // Overrides
  38. virtual void Serialize(CArchive& ar);
  39. virtual BOOL CreateView( int row, int col, CRuntimeClass* pViewClass, SIZE sizeInit, CCreateContext* pContext );
  40. virtual void ActivateNext(BOOL bPrev);
  41. protected:
  42. virtual void StopTracking(BOOL bAccept);
  43. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  44. // Generated message map functions
  45. protected:
  46. //{{AFX_MSG(CTabSplitterWnd)
  47. afx_msg void OnClose();
  48. afx_msg void OnDestroy();
  49. afx_msg void OnSetFocus(CWnd* pOldWnd);
  50. afx_msg void OnKillFocus(CWnd* pNewWnd);
  51. afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
  52. //}}AFX_MSG
  53. LRESULT OnAppSplitterMouseWheel(WPARAM wParam,LPARAM lParam);
  54. DECLARE_MESSAGE_MAP()
  55. protected:
  56. CString m_strSection;
  57. int m_nCurRow;
  58. int m_nCurCol;
  59. int m_cxCur;
  60. int m_cyCur;
  61. int m_cxMin;
  62. int m_cyMin;
  63. private:
  64. static LPCTSTR szSplitterSection;
  65. static LPCTSTR szPaneWidthCurrent;
  66. static LPCTSTR szPaneWidthMinimum;
  67. static LPCTSTR szPaneHeightCurrent;
  68. static LPCTSTR szPaneHeightMinimum;
  69. };
  70. inline CTabSplitterWnd::IsEmpty()
  71. {
  72. return m_nCols == 0 && m_nRows == 0;
  73. }
  74. #endif //__TABSPLITTERWND_H__