读书人

关于GDI+按钮的有关问题

发布时间: 2012-08-10 12:19:33 作者: rapoo

关于GDI+按钮的问题
我用GDI+创建了一个按钮。我想在按钮没按时背景显示背景图片1,按下后显示背景图片2,请问该怎么实现啊?谢了

[解决办法]
.h文件

C/C++ code
#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);}; 

读书人网 >VC/MFC

热点推荐