📄 bcgtoolbar.h
字号:
}
static void SetLook2000 (BOOL bLook2000 = TRUE);
static BOOL IsLook2000 ()
{
return m_bLook2000;
}
void EnableCustomizeButton (BOOL bEnable, UINT uiCustomizeCmd, const CString& strCustomizeText);
void EnableTextLabels (BOOL bEnable = TRUE);
virtual BOOL AllowChangeTextLabels () const
{
return TRUE;
}
BOOL AreTextLabels () const
{
return m_bTextLabels;
}
void SetMaskMode (BOOL bMasked)
{
m_bMasked = bMasked;
}
void SetPermament (BOOL bPermament = TRUE)
{
m_bPermament = bPermament;
}
public:
// for changing button info
void GetButtonInfo(int nIndex, UINT& nID, UINT& nStyle, int& iImage) const;
void SetButtonInfo(int nIndex, UINT nID, UINT nStyle, int iImage);
BOOL SetButtonText(int nIndex, LPCTSTR lpszText);
CString GetButtonText( int nIndex ) const;
void GetButtonText( int nIndex, CString& rString ) const;
// Save/load toobar state + buttons:
void Serialize (CArchive& ar);
virtual BOOL LoadState (LPCTSTR lpszProfileName = NULL, int nIndex = -1, UINT uiID = (UINT) -1);
virtual BOOL SaveState (LPCTSTR lpszProfileName = NULL, int nIndex = -1, UINT uiID = (UINT) -1);
virtual BOOL RemoveStateFromRegistry (LPCTSTR lpszProfileName = NULL, int nIndex = -1, UINT uiID = (UINT) -1);
static BOOL LoadParameters (LPCTSTR lpszProfileName = NULL);
static BOOL SaveParameters (LPCTSTR lpszProfileName = NULL);
virtual BOOL CanBeRestored () const;
virtual BOOL CanBeClosed () const
{
return !m_bPermament;
}
virtual BOOL RestoreOriginalstate ();
virtual void OnReset () {}
virtual void AdjustLayout ();
virtual int HitTest(CPoint point);
virtual BOOL PrevMenu ();
virtual BOOL NextMenu ();
BOOL ProcessCommand (CBCGToolbarButton* pButton);
CBCGToolbarMenuButton* GetDroppedDownMenu (int* pIndex = NULL) const;
BOOL SetHot (CBCGToolbarButton *pMenuButton);
virtual BOOL OnSetDefaultButtonText (CBCGToolbarButton* pButton);
BOOL IsDragButton (const CBCGToolbarButton* pButton) const
{
return pButton == m_pDragButton;
}
virtual void OnFillBackground (CDC* /*pDC*/) {}
// Implementation
public:
virtual ~CBCGToolBar();
virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz);
virtual CSize CalcDynamicLayout (int nLength, DWORD dwMode);
virtual CSize CalcSize (BOOL bVertDock);
int WrapToolBar (int nWidth);
virtual void OnChangeHot (int iHot);
protected:
virtual CSize CalcLayout (DWORD dwMode, int nLength = -1);
void SizeToolBar (int nLength, BOOL bVert = FALSE);
public:
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
int InsertButton (CBCGToolbarButton* pButton, int iInsertAt = -1);
void InvalidateButton(int nIndex);
void UpdateButton(int nIndex);
virtual BOOL DrawButton (CDC* pDC, CBCGToolbarButton* pButton,
CBCGToolBarImages* pImages, BOOL bHighlighted,
BOOL bDrawDisabledImages);
virtual void DrawDragMarker (CDC* pDC);
void RebuildAccelerationKeys ();
protected:
friend class CBCGWorkspace;
static CBCGToolBarImages m_Images; // Shared toolbar images
static CBCGToolBarImages m_ColdImages; // Shared toolbar "cold" images
static CBCGToolBarImages m_DisabledImages; // Shared disabled images
static CBCGToolBarImages m_MenuImages;
static CBCGToolBarImages m_DisabledMenuImages;
static CBCGToolBarImages* m_pUserImages; // Shared user-defined images
CBCGToolBarImages m_ImagesLocked; // "Locked" toolbar images
CBCGToolBarImages m_ColdImagesLocked; // "Locked" toolbar "cold" images
CBCGToolBarImages m_MenuImagesLocked; // "Locked" toolbar menu images
CBCGToolBarImages m_DisabledImagesLocked; // "Locked" toolbar disabled images
CBCGToolBarImages m_DisabledMenuImagesLocked; // "Locked" toolbar menu disabled images
BOOL m_bLocked;
BOOL m_bLargeIconsAreEnbaled;
CBCGControlBarImpl m_Impl;
BOOL m_bMasked;
BOOL m_bPermament; // Can't be closed
BOOL m_bTextLabels; // Text labels below the image are available
BOOL m_bDrawTextLabels;
int m_nMaxBtnHeight;// Actual only if m_bTextLabels is TRUE
static CMap<UINT, UINT, int, int> m_DefaultImages;
static CSize m_sizeButton; // original size of button
static CSize m_sizeImage; // original size of glyph
static CSize m_sizeMenuButton; // size of button on the menu
static CSize m_sizeMenuImage; // size of image on the menu
static CSize m_sizeCurButton; // size of button
static CSize m_sizeCurImage; // size of glyph
CSize m_sizeButtonLocked; // original size of button of the locked toolbars
CSize m_sizeImageLocked; // original size of glyph of the locked toolbars
CSize m_sizeCurButtonLocked; // size of button
CSize m_sizeCurImageLocked; // size of glyph
int m_iButtonCapture; // index of button with capture (-1 => none)
int m_iHighlighted; // highlighted button index
int m_iSelected; // selected button index
int m_iHot;
int m_iRebarPaneWidth;
CObList m_Buttons;
CBCGToolbarDropTarget m_DropTarget;
static CBCGToolbarDropSource m_DropSource;
static BOOL m_bCustomizeMode;
static BOOL m_bAltCustomizeMode;
int m_iDragIndex;
CRect m_rectDrag;
CPen m_penDrag;
CBCGToolbarButton* m_pDragButton;
CPoint m_ptStartDrag;
BOOL m_bIsDragCopy;
BOOL m_bStretchButton;
CRect m_rectTrack;
int m_iImagesOffset;
UINT m_uiOriginalResID; // Toolbar resource ID
BOOL m_bTracked;
CPoint m_ptLastMouse;
BOOL m_bMenuMode;
CWnd* m_pWndLastCapture;
HWND m_hwndLastFocus;
static COLORREF m_clrTextHot;
static HHOOK m_hookMouseHelp; // Mouse hook for the help mode
static CBCGToolBar* m_pLastHookedToolbar;
CMap<UINT, UINT&, CBCGToolbarButton*, CBCGToolbarButton*&> m_AcellKeys; // Keyborad acceleration keys
static BOOL m_bShowTooltips;
static BOOL m_bShowShortcutKeys;
static BOOL m_bLargeIcons;
static CList<UINT, UINT> m_lstUnpermittedCommands;
static CList<UINT, UINT> m_lstBasicCommands;
static CCmdUsageCount m_UsageCount;
BOOL m_bShowHotBorder;
BOOL m_bGrayDisabledButtons;
static BOOL m_bAltCustomization;
static BOOL m_bLook2000;
CCustomizeButton* m_pCustomizeBtn;
virtual BOOL OnDrop(COleDataObject* pDataObject, DROPEFFECT dropEffect, CPoint point);
virtual DROPEFFECT OnDragEnter(COleDataObject* pDataObject, DWORD dwKeyState, CPoint point);
virtual void OnDragLeave();
virtual DROPEFFECT OnDragOver(COleDataObject* pDataObject, DWORD dwKeyState, CPoint point);
virtual void DoPaint(CDC* pDC);
virtual void OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler);
virtual int OnToolHitTest(CPoint point, TOOLINFO* pTI) const;
virtual BOOL PreTranslateMessage(MSG* pMsg);
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
virtual DWORD RecalcDelayShow(AFX_SIZEPARENTPARAMS* lpLayout);
virtual int FindDropIndex (const CPoint point, CRect& rectDrag) const;
virtual void AdjustLocations ();
virtual BOOL OnSendCommand (const CBCGToolbarButton* /*pButton*/) { return FALSE; }
virtual BOOL AllowSelectDisabled () const { return FALSE; }
virtual void DrawSeparator (CDC* pDC, const CRect& rect, BOOL bHorz);
virtual CBCGToolbarButton* CreateDroppedButton (COleDataObject* pDataObject);
virtual BOOL OnKey (UINT /*nChar*/) { return FALSE; }
virtual void OnCustomizeMode (BOOL bSet);
virtual BOOL EnableContextMenuItems (CBCGToolbarButton* pButton, CMenu* pPopup);
void AddRemoveSeparator (const CBCGToolbarButton* pButton,
const CPoint& ptStart, const CPoint& ptDrop);
void ShowCommandMessageString (UINT uiCmdId);
static LRESULT CALLBACK BCGToolBarMouseProc (int nCode, WPARAM wParam, LPARAM lParam);
BOOL DropDownMenu (CBCGToolbarButton* pButton);
int CalcMaxButtonHeight ();
BOOL GetBackgroundFromParent (CDC* pDC);
//{{AFX_MSG(CBCGToolBar)
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnCancelMode();
afx_msg void OnSysColorChange();
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnDestroy();
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnToolbarAppearance();
afx_msg void OnToolbarDelete();
afx_msg void OnToolbarImage();
afx_msg void OnToolbarImageAndText();
afx_msg void OnToolbarStartGroup();
afx_msg void OnToolbarText();
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnWindowPosChanged(WINDOWPOS FAR* lpwndpos);
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnBcgbarresToolbarReset();
afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp);
afx_msg void OnNcPaint();
afx_msg UINT OnNcHitTest(CPoint point);
afx_msg void OnBcgbarresCopyImage();
afx_msg void OnSetFocus(CWnd* pOldWnd);
afx_msg void OnBcgbarresToolbarNewMenu();
afx_msg void OnWindowPosChanging(WINDOWPOS FAR* lpwndpos);
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
//}}AFX_MSG
afx_msg void OnContextMenu(CWnd*, CPoint point);
afx_msg LRESULT OnMouseLeave(WPARAM,LPARAM);
afx_msg LRESULT OnHelpHitTest(WPARAM,LPARAM);
DECLARE_MESSAGE_MAP()
};
#endif //!_TOOLBAR_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -