說明
從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函數,並且留空,說明不再需要擦除背景