ToolbarCtrlEx.h
上传用户:xywutai
上传日期:2007-01-02
资源大小:72k
文件大小:6k
源码类别:

工具条

开发平台:

Visual C++

  1. #ifndef __TBCTL_H__
  2. #define __TBCTL_H__
  3. #ifndef __AFXWIN_H__
  4.   #include <afxwin.h>
  5. #endif
  6. #ifndef __AFXDISP_H__
  7.   #include <afxdisp.h>
  8. #endif
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CToolBarCtrlEx
  11. class CToolBarCtrlEx : public CToolBarCtrl
  12. {
  13. // Construction
  14. public:
  15.   CToolBarCtrlEx();
  16.   BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
  17. // Attributes
  18. public:
  19.   DWORD GetButtonSize() const
  20.   { ASSERT(::IsWindow(m_hWnd)); return (DWORD) ::SendMessage(m_hWnd, TB_GETBUTTONSIZE, 0, 0L); }
  21. CImageList* GetDisabledImageList() const
  22.   { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST) ::SendMessage(m_hWnd, TB_GETDISABLEDIMAGELIST, 0, 0)); }
  23. CImageList* GetHotImageList() const
  24.   { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST) ::SendMessage(m_hWnd, TB_GETHOTIMAGELIST, 0, 0)); }
  25. CImageList* GetImageList() const
  26.   { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST) ::SendMessage(m_hWnd, TB_GETIMAGELIST, 0, 0)); }
  27. DWORD GetStyle() const
  28.   { ASSERT(::IsWindow(m_hWnd)); return (DWORD) ::SendMessage(m_hWnd, TB_GETSTYLE, 0, 0L); }
  29. int GetMaxTextRows() const
  30.   { ASSERT(::IsWindow(m_hWnd)); return (INT) ::SendMessage(m_hWnd, TB_GETTEXTROWS, 0, 0L); }
  31. BOOL IsButtonHighlighted(int nID) const
  32.   { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_ISBUTTONHIGHLIGHTED, nID, 0); }
  33. BOOL SetButtonWidth(int cxMin, int cxMax)
  34.   { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_SETBUTTONWIDTH, 0, MAKELPARAM(cxMin, cxMax)); }
  35. CImageList* SetDisabledImageList(CImageList* pImageList)
  36.   { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST) ::SendMessage(m_hWnd, TB_SETDISABLEDIMAGELIST, 0, (LPARAM)pImageList->GetSafeHandle())); }
  37. CImageList* SetHotImageList(CImageList* pImageList)
  38.   { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST) ::SendMessage(m_hWnd, TB_SETHOTIMAGELIST, 0, (LPARAM)pImageList->GetSafeHandle())); }
  39. CImageList* SetImageList(CImageList* pImageList)
  40.   { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST) ::SendMessage(m_hWnd, TB_SETIMAGELIST, 0, (LPARAM)pImageList->GetSafeHandle())); }
  41. HRESULT GetDropTarget(IDropTarget** ppDropTarget) const;
  42. BOOL SetIndent(int iIndent)
  43.   { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_SETINDENT, iIndent, 0L); }
  44. BOOL SetMaxTextRows(int iMaxRows)
  45.   { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_SETMAXTEXTROWS, iMaxRows, 0L); }
  46. void SetStyle(DWORD dwStyle)
  47.   { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TB_SETSTYLE, 0, dwStyle); }
  48. BOOL GetButtonInfo(int nID, TBBUTTONINFO* ptbbi) const
  49.   { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_GETBUTTONINFO, nID, (LPARAM)ptbbi); }
  50. BOOL SetButtonInfo(int nID, TBBUTTONINFO* ptbbi)
  51.   { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_SETBUTTONINFO, nID, (LPARAM)ptbbi); }
  52. DWORD SetDrawTextFlags(DWORD dwMask, DWORD dwDTFlags)
  53.   { ASSERT(::IsWindow(m_hWnd)); return (DWORD) ::SendMessage(m_hWnd, TB_SETDRAWTEXTFLAGS, dwMask, dwDTFlags); }
  54. BOOL GetAnchorHighlight() const
  55.   { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_GETANCHORHIGHLIGHT, 0, 0); }
  56. BOOL SetAnchorHighlight(BOOL fAnchor = TRUE)
  57.   { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_SETANCHORHIGHLIGHT, fAnchor, 0); }
  58. int GetHotItem() const
  59.   { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TB_GETHOTITEM, 0, 0); }
  60. int SetHotItem(int nHot)
  61.   { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TB_SETHOTITEM, nHot, 0); }
  62. void GetInsertMark(TBINSERTMARK* ptbim) const
  63.   { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TB_GETINSERTMARK, 0, (LPARAM)ptbim); }
  64. void SetInsertMark(TBINSERTMARK* ptbim)
  65.   { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TB_SETINSERTMARK, 0, (LPARAM)ptbim); }
  66. BOOL GetMaxSize(LPSIZE pSize) const
  67.   { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_GETMAXSIZE, 0, (LPARAM)pSize); }
  68. BOOL InsertMarkHitTest(LPPOINT ppt, LPTBINSERTMARK ptbim) const
  69.   { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_INSERTMARKHITTEST, (WPARAM)ppt, (LPARAM)ptbim); }
  70. DWORD GetExtendedStyle() const
  71.   { ASSERT(::IsWindow(m_hWnd)); return (DWORD) ::SendMessage(m_hWnd, TB_GETEXTENDEDSTYLE, 0, 0L); }
  72. DWORD SetExtendedStyle(DWORD dwExStyle)
  73.   { ASSERT(::IsWindow(m_hWnd)); return (DWORD) ::SendMessage(m_hWnd, TB_SETEXTENDEDSTYLE, 0, dwExStyle); }
  74. COLORREF GetInsertMarkColor() const
  75.   { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, TB_GETINSERTMARKCOLOR, 0, 0); }
  76. COLORREF SetInsertMarkColor(COLORREF clrNew)
  77.   { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, TB_SETINSERTMARKCOLOR, 0, (LPARAM) clrNew); }
  78. // Operations
  79. public:
  80. BOOL MapAccelerator(TCHAR chAccel, UINT* pIDBtn)
  81.   { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_MAPACCELERATOR, (WPARAM)chAccel, (LPARAM)pIDBtn); }
  82. BOOL MarkButton(int nID, BOOL bHighlight = TRUE)
  83.   { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_MARKBUTTON, nID, MAKELPARAM(bHighlight, 0)); }
  84. BOOL MoveButton(UINT nOldPos, UINT nNewPos)
  85.   { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_MOVEBUTTON, nOldPos, nNewPos); }
  86. int HitTest(LPPOINT ppt) const
  87.   { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TB_HITTEST, 0, (LPARAM)ppt); }
  88. // Overrides
  89. // ClassWizard generated virtual function overrides
  90. //{{AFX_VIRTUAL(CToolBarCtrlEx)
  91. //}}AFX_VIRTUAL
  92. // Implementation
  93. public:
  94. virtual ~CToolBarCtrlEx();
  95. // Generated message map functions
  96. protected:
  97. //{{AFX_MSG(CToolBarCtrlEx)
  98. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  99. //}}AFX_MSG
  100. DECLARE_MESSAGE_MAP()
  101. };
  102. #endif //__TBCTL_H__
  103. /////////////////////////////////////////////////////////////////////////////