2019-02-02 11:30:40 +08:00
|
|
|
#ifndef BUTTON_H
|
|
|
|
#define BUTTON_H
|
2017-12-06 21:43:47 +08:00
|
|
|
|
2018-12-02 22:39:43 +08:00
|
|
|
#define GL_BN_CLICKED 0x1111
|
|
|
|
#define ON_GL_BN_CLICKED(ctrlId, func) \
|
|
|
|
{MSG_TYPE_WND, GL_BN_CLICKED, (c_cmd_target*)ctrlId, MSG_CALLBACK_VWV, (MsgFuncVV)(static_cast<void (c_cmd_target::*)(unsigned int)>(&func))},
|
2017-12-06 21:43:47 +08:00
|
|
|
|
2018-10-04 14:30:29 +08:00
|
|
|
typedef struct struct_bitmap_info BITMAP_INFO;
|
2017-12-06 21:43:47 +08:00
|
|
|
class c_button : public c_wnd
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual const char* get_class_name() const {return "c_button";}
|
|
|
|
virtual c_wnd* clone(){return new c_button();}
|
2018-10-04 14:30:29 +08:00
|
|
|
|
|
|
|
void set_bitmap(const BITMAP_INFO *pBitmap) { m_bitmap_normal = pBitmap; }
|
|
|
|
void set_focus_bitmap(const BITMAP_INFO *pBitmap) { m_bitmap_focus = pBitmap; }
|
|
|
|
void set_pushed_bitmap(const BITMAP_INFO *pBitmap) { m_bitmap_pushed = pBitmap; }
|
|
|
|
void set_disable_bitmap(const BITMAP_INFO *pBitmap) { m_bitmap_disable = pBitmap; }
|
2017-12-06 21:43:47 +08:00
|
|
|
protected:
|
|
|
|
virtual void on_paint();
|
|
|
|
virtual void on_focus();
|
|
|
|
virtual void on_kill_focus();
|
|
|
|
virtual void pre_create_wnd();
|
2018-10-04 14:30:29 +08:00
|
|
|
|
2019-04-17 15:00:47 +08:00
|
|
|
virtual bool on_touch(int x, int y, TOUCH_ACTION action);
|
|
|
|
virtual bool on_key(KEY_TYPE key);
|
|
|
|
|
2018-10-04 14:30:29 +08:00
|
|
|
const BITMAP_INFO* m_bitmap_normal;
|
|
|
|
const BITMAP_INFO* m_bitmap_focus;
|
|
|
|
const BITMAP_INFO* m_bitmap_pushed;
|
|
|
|
const BITMAP_INFO* m_bitmap_disable;
|
2017-12-06 21:43:47 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|