关于GDI+按钮的问题
我用GDI+创建了一个按钮。我想在按钮没按时背景显示背景图片1,按下后显示背景图片2,请问该怎么实现啊?谢了
[解决办法]
.h文件
#pragma onceclass PngButton : public CButton{ DECLARE_DYNAMIC(PngButton) public: enum BUTTON_STATE { BUTTON_ENABLE = 0, BUTTON_HOVER = 1, BUTTON_CLICK = 2, BUTTON_DISABLE= 3 }; //按钮状态 PngButton(); virtual ~PngButton(); protected: afx_msg LRESULT OnMouseLeave(WPARAM wparam, LPARAM lparam); afx_msg LRESULT OnMouseHover(WPARAM wparam, LPARAM lparam); DECLARE_MESSAGE_MAP()public: virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct); void SetButtonImage(WCHAR* str); afx_msg void OnMouseMove(UINT nFlags, CPoint point); afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void OnLButtonUp(UINT nFlags, CPoint point); BOOL m_bDisable; // 按钮是否禁用 BOOL m_bCursorOnButton; // 鼠标是否在按钮上 BOOL m_bPress; // 按钮是否被按下 int m_nWidth; //图片宽 int m_nHeight; //图片高 int m_nSliceWidth; //每一块图片的宽 Bitmap *m_btnImage; //按钮图片 CRect m_rectButton; //按钮区域 protected: virtual LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam); public: afx_msg BOOL OnEraseBkgnd(CDC* pDC);};