GuiMiniTool.h
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:4k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. //-----------------------------------------------------------------------//
  2. // This is a part of the GuiLib MFC Extention.  //
  3. // Autor  :  Francisco Campos  //
  4. // (C) 2002 Francisco Campos <www.beyondata.com> All rights reserved     //
  5. // This code is provided "as is", with absolutely no warranty expressed  //
  6. // or implied. Any use is at your own risk.  //
  7. // You must obtain the author's consent before you can include this code //
  8. // in a software library.  //
  9. // If the source code in  this file is used in any application  //
  10. // then acknowledgement must be made to the author of this program  //
  11. // fcampos@tutopia.com  //
  12. //-----------------------------------------------------------------------//
  13. #if !defined(AFX_GUIMINITOOL_H__D4A0E123_2E03_4BF4_B22F_8E89EC901EFD__INCLUDED_)
  14. #define AFX_GUIMINITOOL_H__D4A0E123_2E03_4BF4_B22F_8E89EC901EFD__INCLUDED_
  15. #if _MSC_VER > 1000
  16. #pragma once
  17. #endif // _MSC_VER > 1000
  18. // GuiMiniTool.h : header file
  19. //
  20. /////////////////////////////////////////////////////////////////////////////
  21. // CGuiMiniTool window
  22. #include "GuiLib.h"
  23. #include "GuiToolButton.h"
  24. #include "GuiComboBoxExt.h"
  25. //esta clase da la flexibilidad de adicionar componentes
  26. //diferentes a botones.
  27. class CArrButton
  28. {
  29. public:
  30. CArrButton(CGuiToolButton* m_button,HICON m_hIcon,CMenu* pMenu=NULL,CString m_ToolTip=_T(""));
  31. CArrButton(CGuiComboBoxExt* m_pComponent);
  32. public:
  33. CGuiToolButton*    m_bt;
  34. CGuiComboBoxExt*      m_pwnd;
  35. int    m_btipo;  //es un boton o un derivado de Cwnd
  36. };
  37. class GUILIBDLLEXPORT CGuiMiniTool : public CStatic
  38. {
  39. // Construction
  40. public:
  41. CGuiMiniTool();
  42. public:
  43. enum Borders{STYLEFLAT=0,STYLE3D=1,STYLEPRESS=2,STYLEFRAME=3};
  44. enum Aling{ ALIGN_LEFT=0,ALIGN_RIGHT=1};
  45. // Attributes
  46. public:
  47. //*********************************************************************
  48. void  AddButton(int nIndex,UINT Cmd,CMenu* pMenu=NULL,CString m_szCaption=_T(""),CString m_ToolTip=_T(""));
  49. BOOL  CreateCombo(CGuiComboBoxExt* pControl,UINT nID,int iSize,
  50. DWORD dwStyle=WS_CHILD|WS_VISIBLE|CBS_AUTOHSCROLL|
  51. CBS_DROPDOWNLIST|CBS_HASSTRINGS);
  52. void  SetImageList(UINT nBitmapID, int cx, int nGrow, COLORREF crMask);
  53. void  DelButton(int nIndex);
  54. int   GetCountButton();
  55. void  RecalLayout();
  56. void  SetCaption(CString mSzCaption,Aling AlinText);
  57. //*********************************************************************
  58. void  SetBorder(Borders Style);
  59. void  SetColor(COLORREF m_clrface);
  60. void  AlingButtons(Aling Alingsb);
  61. void  AutoSize(BOOL mbAutosize);
  62. void  CalcAutoSize(CRect m_rc);
  63. void  SetColorCaption(COLORREF clrCaption);
  64. void  Drawtext();
  65. HICON GetImagIcon(int nNum);
  66. CGuiToolButton* GetButton(UINT uID_Object);
  67. // Operations
  68. protected:
  69.    CPtrArray m_arrButtons;
  70.    CImageList m_imgList;
  71.    COLORREF m_clrface;
  72.    int nNumItems;
  73.    Borders m_border;
  74.    Aling m_AlingButton;
  75.    BOOL m_bAutoSize;
  76.    int m_nResultCombo;
  77.    int m_nResultButtons; 
  78.    BOOL m_bExisteCombo;
  79.    CFont m_cfont;    
  80.    CString m_Caption;
  81.    COLORREF m_clrCaption;
  82.    CSize msz;
  83.    Aling m_AlinTexto;
  84.    CRect     m_rcDrawTexto;
  85. // Overrides
  86. // ClassWizard generated virtual function overrides
  87. //{{AFX_VIRTUAL(CGuiMiniTool)
  88. //}}AFX_VIRTUAL
  89. // Implementation
  90. public:
  91. virtual ~CGuiMiniTool();
  92. virtual void PreSubclassWindow();
  93. virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
  94. // Generated message map functions
  95. protected:
  96. //{{AFX_MSG(CGuiMiniTool)
  97. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  98. afx_msg void OnSize(UINT nType, int cx, int cy);
  99. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  100. afx_msg void OnPaint(); 
  101. afx_msg void OnSysColorChange( );
  102. //}}AFX_MSG
  103. DECLARE_MESSAGE_MAP()
  104. public:
  105. afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
  106. };
  107. /////////////////////////////////////////////////////////////////////////////
  108. //{{AFX_INSERT_LOCATION}}
  109. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  110. #endif // !defined(AFX_GUIMINITOOL_H__D4A0E123_2E03_4BF4_B22F_8E89EC901EFD__INCLUDED_)