wxWidgets第八课wxControl自定义控件

说明

成都创新互联公司服务项目包括沙河口网站建设、沙河口网站制作、沙河口网页制作以及沙河口网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,沙河口网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到沙河口省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

    从wxControl中派生出一个控件,调用OnPaint函数对控件进行渲染

例子


头文件

#include "wx/bitmap.h"

#include "wx/control.h"

#include "wx/dcclient.h"


声明

class CFlightInstrumentCompass : public wxControl

{

private:

DECLARE_DYNAMIC_CLASS(CFlightInstrumentCompass)

DECLARE_EVENT_TABLE()


public:

CFlightInstrumentCompass() {Init();}

void Init() {}


CFlightInstrumentCompass(wxWindow *parent,

wxWindowID id,

const wxPoint& pos = wxDefaultPosition,

const wxSize& size = wxDefaultSize,

long style = 0,

const wxValidator& validator = wxDefaultValidator)

{

Init();

Create(parent, id, pos, size, style, validator);

}


bool Create(wxWindow *parent,

wxWindowID id,

const wxPoint& pos = wxDefaultPosition,

const wxSize& size = wxDefaultSize,

long style = 0,

const wxValidator& validator = wxDefaultValidator);

~CFlightInstrumentCompass(void);


protected:

void OnPaint(wxPaintEvent& event);

};


定义


BEGIN_EVENT_TABLE(CFlightInstrumentCompass, wxControl)

EVT_PAINT(CFlightInstrumentCompass::OnPaint)

END_EVENT_TABLE()

IMPLEMENT_DYNAMIC_CLASS(CFlightInstrumentCompass, wxControl)


void CFlightInstrumentCompass::OnPaint( wxPaintEvent& event )

{

}


提醒

    为了减少闪烁,重写OnEraseBackground函数,并且留空,说明不再需要擦除背景


新闻标题:wxWidgets第八课wxControl自定义控件
文章源于:http://hbruida.cn/article/jdhdoo.html