123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- #if !defined( _OOExToolBar_H_ )
- #define _OOExToolBar_H_
- #if _MSC_VER >= 1000
- #pragma once
- #endif
- #ifndef TB_SETEXTENDEDSTYLE
- #define TB_SETEXTENDEDSTYLE (WM_USER + 84)
- #define TBSTYLE_EX_DRAWDDARROWS 0x00000001
- #endif
- #define NB_POSSIBLE_MODE 6
- class COOExToolBar : public CToolBar
- {
-
-
-
- DECLARE_DYNAMIC( COOExToolBar )
-
-
-
-
- private:
- public:
- enum ImageMode_ { SmallHot, SmallStandard, SmallDisable,
- LargeHot, LargeStandard, LargeDisable };
- protected:
-
-
-
- private:
-
- bool m_bOldFloating;
- public:
- protected:
-
- UINT m_nShowIconMode;
- bool m_bShowIconText;
-
- int m_nDropButtonSize;
- int m_nTextHeight;
- int m_nTextWidth;
- CSize m_SmallIconSize;
- CSize m_LargeIconSize;
-
- CImageList m_ImageList[ NB_POSSIBLE_MODE ];
-
-
-
- private:
-
-
- CSize CalcButtonSize( void );
- public:
-
- COOExToolBar( void );
- ~COOExToolBar( void );
- void SizeToolBar(TBBUTTON* pData, int nCount, int nLength, BOOL bVert = FALSE);
- void GetButton(int nIndex, TBBUTTON* pButton) const;
- void SetButton(int nIndex, TBBUTTON* pButton);
-
- int WrapToolBar(TBBUTTON* pData, int nCount, int nWidth);
- CSize CalcSize(TBBUTTON* pData, int nCount);
- CSize CalcLayout(DWORD nMode, int nLength = -1);
- protected:
-
- void DrawGripper( CDC& dc ) const;
-
- void SetDisableImageList( CImageList* pList );
- void SetHotImageList( CImageList* pList );
- void SetStandardImageList( CImageList* pList );
-
- virtual void AssignImageList( void );
-
-
-
-
- private:
- public:
-
- void ResizeToolBar( void );
- virtual BOOL LoadToolBar( UINT _ResourceId );
-
-
- void SetImageList( ImageMode_ _ImageMode, CImageList& _rList );
-
- virtual void InitImageList( void );
-
- void SetIconMode( UINT _nShowIconMode );
- UINT GetIconMode( void ) const;
- void SetTextMode( bool _bShowIconText );
- bool GetTextMode( void ) const;
-
- void SetButtonDropDown( int nID );
- protected:
-
-
-
-
-
-
-
- public:
- virtual CSize CalcDynamicLayout(int nLength, DWORD dwMode);
- virtual CSize GetButtonSize(TBBUTTON* pData, int iButton);
- virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz);
- protected:
- virtual void OnUpdateCmdUI( CFrameWnd* pTarget, BOOL bDisableIfNoHndler );
-
-
-
-
- protected:
-
- afx_msg int OnCreate( LPCREATESTRUCT lpCreateStruct );
- afx_msg void OnNcCalcSize( BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp );
- afx_msg void OnNcPaint( void );
- afx_msg void OnSysColorChange( void );
- afx_msg void OnWindowPosChanging( WINDOWPOS* lpwndpos );
-
- DECLARE_MESSAGE_MAP()
- };
- class CCoolCmdUI : public CCmdUI
- {
- public:
- virtual void Enable( BOOL bOn );
- virtual void SetCheck( int nCheck );
- };
- class COOBmpToolBar : public COOExToolBar
- {
-
-
-
- DECLARE_DYNAMIC( COOBmpToolBar )
-
-
-
-
- private:
- public:
- class CExBitmap
- {
- public:
- UINT m_nResourceId;
- COLORREF m_clrTransparent;
- };
- protected:
-
-
-
- private:
-
- CExBitmap m_256Image[ NB_POSSIBLE_MODE ];
- CExBitmap m_16Image[ NB_POSSIBLE_MODE ];
- public:
- protected:
-
-
-
- private:
-
-
- void BuildImageList( CImageList& _rImageList, const CExBitmap& _rBitmap );
- public:
-
- COOBmpToolBar( void );
- ~COOBmpToolBar( void );
- protected:
-
-
-
- private:
- public:
-
-
- void SetBitmap( UINT _nBmpId, ImageMode_ _ImageMode, COLORREF _clrBk, bool _b256 = true );
-
-
- virtual void InitImageList( void );
-
- protected:
-
-
-
-
-
-
-
- public:
- protected:
-
-
-
-
- protected:
-
-
- DECLARE_MESSAGE_MAP()
- public:
- afx_msg BOOL OnEraseBkgnd(CDC* pDC);
- };
- #endif
|