wxIdleEvent 空闲事件处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wxIdleEvent 空闲事件处理相关的知识,希望对你有一定的参考价值。
说明
当没有消息需要处理的情况下,可以通过定义OnIdle事件处理消息函数,来达到充分利用CPU的目的。当用户鼠标按下,执行大量的渲染,可能会出现屏幕的卡顿,如果让OnIdle函数处理,就可以避免出现这个问题
例子
#include "wx/event.h"
void OnIdle(wxIdleEvent& event);
EVT_IDLE(CFlightInstrumentPanel::OnIdle)
void CFlightInstrumentPanel::OnIdle( wxIdleEvent& event )
{
static int x = 0;
if (x<1000)
{
wxClientDC dc(this);
wxPen pen(*wxRED,1);
dc.SetPen(pen);
dc.DrawRectangle(x, 0, 200, 300);
dc.SetPen(wxNullPen);
x=x+100;
}
event.Skip();
}
缺点:不是一个定时器,而且只是在消息循环体中没有任何消息的情况下,执行该事件
以上是关于wxIdleEvent 空闲事件处理的主要内容,如果未能解决你的问题,请参考以下文章