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

对话框与窗口

开发平台:

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_GUIMINITOOL_H__D4A0E123_2E03_4BF4_B22F_8E89EC901EFD__INCLUDED_)
  23. #define AFX_GUIMINITOOL_H__D4A0E123_2E03_4BF4_B22F_8E89EC901EFD__INCLUDED_
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. // GuiMiniTool.h : header file
  28. //
  29. /////////////////////////////////////////////////////////////////////////////
  30. // CGuiMiniTool window
  31. #include "GuiToolButton.h"
  32. #include "GuiComboBoxExt.h"
  33. //esta clase da la flexibilidad de adicionar componentes
  34. //diferentes a botones.
  35. class CGuiMiniTool;
  36. class CArrButton
  37. {
  38. public:
  39. CArrButton(CGuiMiniTool* pParent,HICON m_hIcon,UINT Cmd,CFont* m_cfont,CString m_szCaption,CMenu* pMenu=NULL,CString m_ToolTip=_T(""));
  40. CArrButton(CGuiComboBoxExt* m_pComponent);
  41. public:
  42. CGuiToolButton    m_bt;
  43. CGuiComboBoxExt*      m_pwnd;
  44. int    m_btipo;  //es un boton o un derivado de Cwnd
  45. };
  46. class GUILIBDLLEXPORT CGuiMiniTool : public CStatic
  47. {
  48. // Construction
  49. public:
  50. CGuiMiniTool();
  51. public:
  52. enum Borders{STYLEFLAT=0,STYLE3D=1,STYLEPRESS=2,STYLEFRAME=3};
  53. enum Aling{ ALIGN_LEFT=0,ALIGN_RIGHT=1};
  54. // Attributes
  55. public:
  56. //*********************************************************************
  57. void  AddButton(int nIndex,UINT Cmd,CMenu* pMenu=NULL,CString m_szCaption=_T(""),CString m_ToolTip=_T(""));
  58. BOOL  CreateCombo(CGuiComboBoxExt* pControl,UINT nID,int iSize,
  59. DWORD dwStyle=WS_CHILD|WS_VISIBLE|CBS_AUTOHSCROLL|
  60. CBS_DROPDOWNLIST|CBS_HASSTRINGS);
  61. void  SetImageList(UINT nBitmapID, int cx, int nGrow, COLORREF crMask);
  62. void  DelButton(int nIndex);
  63. int   GetCountButton();
  64. void  RecalLayout();
  65. void  SetCaption(CString mSzCaption,Aling AlinText);
  66. //*********************************************************************
  67. void  SetBorder(Borders Style);
  68. void  SetColor(COLORREF m_clrface);
  69. void  AlingButtons(Aling Alingsb);
  70. void  AutoSize(BOOL mbAutosize);
  71. void  CalcAutoSize(CRect m_rc);
  72. void  SetColorCaption(COLORREF clrCaption);
  73. void  Drawtext();
  74. HICON GetImagIcon(int nNum);
  75. CGuiToolButton* GetButton(UINT uID_Object);//,CGuiToolButton* m_btn);
  76. virtual void StyleDispl(DWORD dwDsp=GUISTYLE_XP)
  77. {
  78. m_StyleDisplay=dwDsp;
  79. for (int i=0; i < nNumItems;i++)
  80.      if (((CArrButton*) m_arrButtons [i])->m_btipo ==TRUE)
  81. {
  82. ((CArrButton*) m_arrButtons [i])->m_bt.StyleDispl(dwDsp);
  83. ((CArrButton*) m_arrButtons [i])->m_bt.SetColor(m_clrface);
  84. }
  85. SendMessage(WM_NCPAINT);Invalidate(); UpdateWindow();
  86. }
  87. DWORD m_StyleDisplay;
  88. // Operations
  89. protected:
  90.    CPtrArray m_arrButtons;
  91.    CImageList m_imgList;
  92.    COLORREF m_clrface;
  93.    int nNumItems;
  94.    Borders m_border;
  95.    Aling m_AlingButton;
  96.    BOOL m_bAutoSize;
  97.    int m_nResultCombo;
  98.    int m_nResultButtons; 
  99.    BOOL m_bExisteCombo;
  100.    CFont m_cfont;    
  101.    CString m_Caption;
  102.    COLORREF m_clrCaption;
  103.    CSize msz;
  104.    Aling m_AlinTexto;
  105.    CRect     m_rcDrawTexto;
  106. // Overrides
  107. // ClassWizard generated virtual function overrides
  108. //{{AFX_VIRTUAL(CGuiMiniTool)
  109. //}}AFX_VIRTUAL
  110. // Implementation
  111. public:
  112. virtual ~CGuiMiniTool();
  113. virtual void PreSubclassWindow();
  114. virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
  115. // Generated message map functions
  116. protected:
  117. //{{AFX_MSG(CGuiMiniTool)
  118. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  119. afx_msg void OnSize(UINT nType, int cx, int cy);
  120. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  121. afx_msg void OnPaint(); 
  122. afx_msg void OnSysColorChange( );
  123. //}}AFX_MSG
  124. DECLARE_MESSAGE_MAP()
  125. public:
  126. afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
  127. afx_msg void OnDestroy();
  128. };
  129. /////////////////////////////////////////////////////////////////////////////
  130. //{{AFX_INSERT_LOCATION}}
  131. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  132. #endif // !defined(AFX_GUIMINITOOL_H__D4A0E123_2E03_4BF4_B22F_8E89EC901EFD__INCLUDED_)