欢迎光临
我们一直在努力

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函数,并且留空,说明不再需要擦除背景

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。