GuiContainer.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.  * Bug Fixes and improvements :(Add your name) *
  19.  * -Francisco Campos *
  20.  * *
  21.  ****************************************************************************/
  22. #if !defined(AFX_GUICONTAINER_H__0BD43E9C_E3DA_401D_9151_902189E2DB20__INCLUDED_)
  23. #define AFX_GUICONTAINER_H__0BD43E9C_E3DA_401D_9151_902189E2DB20__INCLUDED_
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. // GuiContainer.h : header file
  28. //
  29. /////////////////////////////////////////////////////////////////////////////
  30. // CGuiContainer window
  31. #include "GuiMiniTool.h"
  32. #include "GuiDrawlayer.h"
  33. #include "GuiImageLinkButton.h"
  34. #include "GuiLabelButton.h"
  35. #include "GuiLib.h" 
  36. #include "GuiVisioFolder.h"
  37. class CComponents
  38. {
  39. public:
  40. CComponents(CGuiMiniTool* m_guiMini); 
  41. CComponents(CWnd* m_cwnd, BOOL bTypesm); 
  42. public:
  43. CGuiMiniTool* m_guiMini;
  44. CWnd*   m_cwnd;
  45. BOOL   bMiniTool;
  46. BOOL   bTypeSmall;
  47. };
  48. class GUILIBDLLEXPORT CGuiContainer : public CWnd
  49. {
  50. // Construction
  51. public:
  52. enum Borders{STYLEFLAT = 0, STYLE3D = 1, STYLEPRESS = 2};
  53. CGuiContainer();
  54. // Attributes
  55. public:
  56.     BOOL AddComponen(CGuiMiniTool* m_miniTool);
  57. CWnd* AddComponen(CRuntimeClass* m_rtcwnd, UINT nID, DWORD dwStyle);
  58. void  AddComponen(CWnd* m_rtcwnd);
  59. // Operations
  60. public:
  61. // Overrides
  62. // ClassWizard generated virtual function overrides
  63. //{{AFX_VIRTUAL(CGuiContainer)
  64. protected:
  65. // virtual void PreSubclassWindow();
  66. //}}AFX_VIRTUAL
  67. // Implementation
  68. public:
  69. virtual ~CGuiContainer();
  70. void    SetBorder(Borders m_enborder = STYLEFLAT);
  71. void SetColor(COLORREF m_clr)
  72. {
  73. m_clrface = m_clr;
  74. };
  75. void    CalcAutoSize(CRect m_rc);
  76. virtual void RecalLayout();
  77. virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
  78. virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
  79. void UsedAllWindow(BOOL bUseWindow); // se utiliza para que los objetos diferentes
  80. // a combobox y CGuiMiniTool utilicen todo el ancho de 
  81. // de a ventana.
  82. void SetDrawBorder(BOOL bDraw = FALSE){m_bDrawBorder = bDraw;}    
  83. void StyleDispl(DWORD dwDsp=GUISTYLE_XP)
  84. {
  85. m_StyleDisplay=dwDsp; 
  86. m_clrface=GuiDrawLayer::GetRGBColorFace(m_StyleDisplay);
  87. SendMessage(WM_NCPAINT);Invalidate(); UpdateWindow();
  88. }
  89. DWORD m_StyleDisplay;
  90. // Generated message map functions
  91. protected:
  92. CPtrArray m_arrContainer;
  93. int m_nItems;
  94. COLORREF m_clrface;
  95. Borders m_enBorder;
  96. int m_nResultCWnd;
  97.     int m_nResultTools; 
  98. CWnd* pParent;
  99. BOOL m_bUseWin;
  100. BOOL m_bDrawBorder;
  101. protected:
  102. //{{AFX_MSG(CGuiContainer)
  103. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  104. afx_msg void OnPaint();
  105. afx_msg void OnSysColorChange();
  106. afx_msg void OnSize(UINT nType, int cx, int cy);
  107. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  108. afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
  109. afx_msg void OnDestroy();
  110. //}}AFX_MSG
  111. DECLARE_MESSAGE_MAP()
  112. public:
  113. virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);
  114. };
  115. /////////////////////////////////////////////////////////////////////////////
  116. //{{AFX_INSERT_LOCATION}}
  117. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  118. #endif // !defined(AFX_GUICONTAINER_H__0BD43E9C_E3DA_401D_9151_902189E2DB20__INCLUDED_)