GuiOutLook.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_GUIOUTLOOK_H__B553E721_33F1_493C_A265_BB0C32881A3F__INCLUDED_)
  23. #define AFX_GUIOUTLOOK_H__B553E721_33F1_493C_A265_BB0C32881A3F__INCLUDED_
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. //#define WM_OUTBAR_NOTIFY WM_USER+1
  28. //#define NM_OB_ITEMCLICK WM_OUTBAR_NOTIFY+1
  29. #include "GuiToolButton.h"
  30. //esta clase da la flexibilidad de adicionar componentes
  31. //diferentes a botones.
  32. class CGuiOutLook;
  33. class GUILIBDLLEXPORT CItems
  34. {
  35. public:
  36. CItems(CGuiOutLook* m_pParent,HICON m_hIcon,UINT Cmd,CString m_Message,CString m_ToolTip=_T(""));
  37. public:
  38. CGuiToolButton    m_bt;
  39. int    m_btipo;  //es un boton o un derivado de Cwnd
  40. CString    m_szMessage;//el mensaje bajo el boton
  41. }; 
  42. class GUILIBDLLEXPORT  CGuiOutLook : public CWnd
  43. {
  44. friend class CItems;
  45. DECLARE_DYNCREATE(CGuiOutLook)
  46. public:
  47. //***************************************
  48. CGuiOutLook();
  49. virtual ~CGuiOutLook();
  50. //***************************************
  51. public:
  52. virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
  53. virtual BOOL PreTranslateMessage(MSG* pMsg);
  54. public:
  55. void AddItem(UINT Cmd,CString m_szCaption,int nIndex,CString m_ToolTip=_T(""));
  56. void SetImageList(UINT nBitmapID, int cx, int nGrow, COLORREF crMask);
  57. virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
  58. void RecalLayout();
  59. virtual void StyleDispl(DWORD dwDsp=GUISTYLE_XP)
  60. {
  61. m_StyleDisplay=dwDsp;
  62. for (int i=0; i < m_NumBottoms;i++)
  63.      ((CItems*) m_ArrayButtons [i])->m_bt.StyleDispl(dwDsp);
  64. SendMessage(WM_NCPAINT);Invalidate(); UpdateWindow();
  65. }
  66. DWORD m_StyleDisplay;
  67. protected:
  68. //**************************************************
  69. CImageList m_imageList;
  70. CPtrArray  m_ArrayButtons;
  71. CSize      m_sizeImage;
  72. int    m_ActualButtonPres;
  73. int        m_ultimoBotonResal;
  74. int        m_NumBottoms;
  75. COLORREF   m_cbkg;
  76. int    m_mouseMove;
  77. int        m_Avance;    //avance del scroll
  78. CRect    m_rectArrowUp;
  79. CRect    m_rectArrowDown;
  80. BOOL    m_iDrawFrameUp;
  81. BOOL       m_iDrawFrameDown;     
  82. UINT    mnID;
  83. BOOL    m_bPressU;
  84. BOOL    m_bPressD;
  85. HDC    hdc;
  86. BOOL    m_bIsXp;
  87. //**************************************************
  88. protected:
  89. //{{AFX_MSG(CGuiOutLook)
  90. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  91. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  92. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  93. afx_msg void OnPaint();
  94. afx_msg void OnSize(UINT nType, int cx, int cy);
  95. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  96. afx_msg void OnTimer(UINT nIDEvent);
  97. afx_msg void OnSysColorChange(); 
  98. //}}AFX_MSG
  99. DECLARE_MESSAGE_MAP()
  100. afx_msg void OnDestroy();
  101. };
  102. /////////////////////////////////////////////////////////////////////////////
  103. //{{AFX_INSERT_LOCATION}}
  104. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  105. #endif // !defined(AFX_GUIOUTLOOK_H__B553E721_33F1_493C_A265_BB0C32881A3F__INCLUDED_)