GuiPanelWnd.h
上传用户:wlkj888
上传日期:2022-08-01
资源大小:806k
文件大小:4k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. /****************************************************************************
  2.  * *  
  3.  * GuiToolKit   *
  4.  *                           (MFC extension) *  
  5.  * Created by Francisco Campos G. www.beyondata.com fcampos@beyondata.com *
  6.  *--------------------------------------------------------------------------*    
  7.  * *
  8.  * This program is free software; so you are free to use it any of your *
  9.  * applications(Freeware, Shareware, Commercial), but leave this header *
  10.  * intact. *
  11.  * *
  12.  * These files are provided "as is" without warranty of any kind. *
  13.  * *
  14.  *        GuiToolKit is forever FREE CODE !!!!! *
  15.  * *
  16.  *--------------------------------------------------------------------------*
  17.  * Created by: Francisco Campos G. *
  18.  * *
  19.  ****************************************************************************/
  20. #if !defined(AFX_GUIPANELWND_H__7800D92C_C2CC_43C6_B272_A0D43D898DDA__INCLUDED_)
  21. #define AFX_GUIPANELWND_H__7800D92C_C2CC_43C6_B272_A0D43D898DDA__INCLUDED_
  22. #if _MSC_VER > 1000
  23. #pragma once
  24. #endif // _MSC_VER > 1000
  25. // GuiPanelWnd.h : header file
  26. //
  27. /////////////////////////////////////////////////////////////////////////////
  28. // CGuiPanelWnd window
  29. #define NORMAL 0
  30. #define OVER   1
  31. #define PRESS  2
  32. #include "GuiDrawLayer.h"
  33. class GUILIBDLLEXPORT CGuiPanelWnd : public CWnd
  34. {
  35. // Construction
  36. public:
  37. CGuiPanelWnd();
  38. // Attributes
  39. public:
  40. void DrawGripper(CDC* pDC, CRect* rc);
  41. void AddWindow(CWnd* pWin);
  42. void DeletedWindow();
  43. BOOL IsLeft()
  44. {
  45. if(m_nLastAlingDocking==CBRS_ALIGN_LEFT)
  46. return TRUE;
  47. return FALSE;
  48. }
  49. BOOL IsRight()
  50. {
  51. if(m_nLastAlingDocking==CBRS_ALIGN_RIGHT)
  52. return TRUE;
  53. return FALSE;
  54. }
  55. BOOL IsTop()
  56. {
  57. if(m_nLastAlingDocking==CBRS_ALIGN_TOP)
  58. return TRUE;
  59. return FALSE;
  60. }
  61. BOOL IsBottom()
  62. {
  63. if(m_nLastAlingDocking==CBRS_ALIGN_BOTTOM)
  64. return TRUE;
  65. return FALSE;
  66. }
  67. BOOL IsVert()
  68. {
  69. return (IsLeft() && IsRight());
  70. }
  71. virtual void StyleDispl(DWORD dwDsp=GUISTYLE_XP)
  72. {m_StyleDisplay=dwDsp;SendMessage(WM_NCPAINT);Invalidate(); UpdateWindow();}
  73. DWORD m_StyleDisplay;
  74. // Operations
  75. protected:
  76. CWnd* m_pWin;   //the Child
  77. BOOL  bHide;      //is the windows hide
  78. BOOL  m_bActive;   //is selected 
  79. CGuiControlBarButton m_CloseBtn;
  80. int   nGapGripper;
  81. CRect m_rcCloseBtn;
  82. int   m_stateBtn;
  83. UINT  m_nLastAlingDocking;
  84. public:
  85. // Overrides
  86. // ClassWizard generated virtual function overrides
  87. //{{AFX_VIRTUAL(CGuiPanelWnd)
  88. public:
  89. virtual BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID,UINT nAling);
  90. //}}AFX_VIRTUAL
  91. // Implementation
  92. public:
  93. virtual ~CGuiPanelWnd();
  94. // Generated message map functions
  95. protected:
  96. //{{AFX_MSG(CGuiPanelWnd)
  97. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  98. afx_msg void OnPaint();
  99. afx_msg void OnNcPaint();
  100. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  101. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  102. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  103. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  104. afx_msg void OnSize(UINT nType, int cx, int cy);
  105. afx_msg void OnNcCalcSize(BOOL, NCCALCSIZE_PARAMS*);
  106. //}}AFX_MSG
  107. DECLARE_MESSAGE_MAP()
  108. };
  109. /////////////////////////////////////////////////////////////////////////////
  110. //{{AFX_INSERT_LOCATION}}
  111. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  112. #endif // !defined(AFX_GUIPANELWND_H__7800D92C_C2CC_43C6_B272_A0D43D898DDA__INCLUDED_)