GuiToolBarWnd.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_GUITOOLBARWND_H__EA24A3ED_2C8D_401D_AA89_0515F80714FA__INCLUDED_)
  23. #define AFX_GUITOOLBARWND_H__EA24A3ED_2C8D_401D_AA89_0515F80714FA__INCLUDED_
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. #include "GuiDocbarExten.h"
  28. class GUILIBDLLEXPORT CGuiToolBarWnd : public CToolBar  
  29. {
  30. DECLARE_DYNAMIC(CGuiToolBarWnd)
  31. public:
  32. enum StyleG
  33. {
  34. Office97   = 0,
  35. Office2000 = 1
  36. };
  37. //*******************************************************
  38.  CGuiToolBarWnd();
  39. virtual ~CGuiToolBarWnd();
  40. //*******************************************************
  41. public:
  42. //***********************************************************************
  43. void DrawGripper(CWindowDC* dc, CRect* rcWin);
  44. void setStyleG(StyleG style) 
  45. {
  46. m_style = style;
  47. OnNcPaint();
  48. }
  49. //************************************************************************
  50. void OnNcPaint();
  51. //************************************************************************
  52. BOOL CreateCombo(CComboBox* pControl,UINT nID,int iSize,
  53. DWORD dwStyle=WS_CHILD|WS_VISIBLE|CBS_DROPDOWNLIST | CBS_SORT | 
  54.                     WS_VSCROLL | WS_TABSTOP);
  55. BOOL CreateCombo(CComboBoxEx* pControl,UINT nID,
  56. int iSize,CImageList* m_imgList,
  57. DWORD dwStyle=WS_CHILD|WS_VISIBLE|CBS_DROPDOWNLIST | CBS_SORT | 
  58.                     WS_VSCROLL | WS_TABSTOP);
  59. //*************************************************************************
  60. void AddRowComBoboxEx(CComboBoxEx* pControl,CString szMsg,int iItem,int iImage);
  61. void SetButtonDropDown(UINT nID,int iImage,UINT nMENU);
  62. void SetButtonDropDown(UINT nID,int iImage,CWnd* pWnd,LPCTSTR lpTitle=_T(""));
  63. BOOL OnDropDown(NMHDR* pNMHDR, LRESULT* pRes);
  64. virtual void OnUpdateCmdUI( CFrameWnd* pTarget, BOOL bDisableIfNoHndler );
  65. virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz);
  66. virtual CSize CalcDynamicLayout(int nLength, DWORD nMode);
  67. void DrawArrow(CDC* pDC,CRect m_rc);
  68. void SetTextButton(int IdButton,CString sztexto);
  69. void RestoreState();
  70. void SetTextOptions();
  71. HMENU LoadMenu(HMENU hmenu);
  72. void StyleDispl(DWORD dwDsp=GUISTYLE_XP)
  73. {m_StyleDisplay=dwDsp;SendMessage(WM_NCPAINT);Invalidate(); UpdateWindow();}
  74. void SetRealSize();
  75. CSize CalcLayout(DWORD nMode, int nLength = -1);
  76. CSize CalcSize(TBBUTTON* pData, int nCount);
  77. int WrapToolBar(TBBUTTON* pData, int nCount, int nWidth);
  78. void SizeToolBar(TBBUTTON* pData, int nCount, int nLength, BOOL bVert = FALSE);
  79. void _GetButton(int nIndex, TBBUTTON* pButton) const;
  80. void _SetButton(int nIndex, TBBUTTON* pButton);
  81. void SetMenuContext(UINT MnuContext) {MenuContext=MnuContext; };
  82. BOOL IsAutoHide(){return FALSE;}
  83. int GetLastPos();
  84. int GetFirstPos();
  85. CRect GetDockRect();
  86. int GetHiWid();
  87. BOOL IsLeft();
  88. BOOL IsRight();
  89. BOOL IsTop();
  90. BOOL IsBottom();
  91. BOOL IsVert();
  92. BOOL IsHorz();
  93. BOOL IsFloating();
  94. // void LockEspecial();
  95. // void UnLockEspecial();
  96. protected:
  97. UINT m_style;
  98. BOOL m_pinta;
  99. int m_iElements;
  100. BOOL m_bIsXp;
  101. CPoint mHeight;
  102. CPtrArray m_pArray; //submenus para botones dropdown
  103. CImageList m_imgArrow; //imagen arrow
  104. CRect m_rcBtnGlobal; //repaint button
  105. int m_iWidthDrowDown;
  106. int m_iSelected;
  107. CFont m_cfont;
  108. BOOL bVertDocked;
  109. BOOL bOver;
  110. BOOL bPressDown;
  111. UINT nDockBarAling;
  112. UINT MenuContext;
  113. UINT m_idLock;
  114. CImageList m_imgList;
  115. BOOL bLoad;
  116. int m_ActualBtn;
  117. CRect m_rcSaveFloat;
  118. DWORD m_StyleDisplay;
  119. protected:
  120. //{{AFX_MSG(CGuiToolBar)
  121. afx_msg void OnPaint();
  122. afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp);
  123. afx_msg void OnWindowPosChanging(WINDOWPOS FAR* lpwndpos);
  124. afx_msg void OnTimer(UINT nIDEvent);
  125. afx_msg void OnLButtonDown(UINT nFlags, CPoint point) ;
  126. afx_msg void OnRButtonDown(UINT nFlags, CPoint point) ;
  127. afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point) ;
  128. afx_msg void OnLButtonUp(UINT nFlags, CPoint point) ;
  129. afx_msg void OnNcLButtonDblClk(UINT nFlags, CPoint point);
  130. afx_msg void OnSysColorChange( );
  131. afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  132. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  133. //}}AFX_MSG(CGuiToolBar)
  134. DECLARE_MESSAGE_MAP()
  135. public:
  136. afx_msg void OnDestroy();
  137. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  138. };
  139. #endif // !defined(AFX_GUITOOLBARWND_H__EA24A3ED_2C8D_401D_AA89_0515F80714FA__INCLUDED_)