消息
1.WM_PAINT
1.1作用
重绘页面
1.2触发机制
- 程序首次启动时;
- 窗口被移动;
1.3官方事例
点击查看代码
void WinHandler(WM_MESSAGE * pMsg) {
switch (pMsg->MsgId) {
case WM_PAINT: //触发重绘
GUI_SetBkColor(0xFF00);
GUI_Clear();
GUI_DispStringAt("Hello world",0,0);
break;
default:
WM_DefaultProc(pMsg);
}
}
2.WM_CREATE
2.1作用
在消息(1)完成后,触发窗口重绘,重绘的窗口/页面在消息处理函数中执行
2.2触发机制
- 消息(1)执行完后;
2.3官方事例
点击查看代码
//暂无
3.WM_TIMER
3.1作用
定时器消息,顾名思义为定时器触发消息,相当于STM32的定时器
3.2触发机制
- 定时中断,配合WM_CreateTimer()使用;
2.3官方事例
点击查看代码
static void _cbWin(WM_MESSAGE * pMsg) {
switch (pMsg->MsgId) {
case WM_TIMER:
/*
... do something ...
*/
WM_RestartTimer(pMsg->Data.v, 1000);
break;
default:
WM_DefaultProc(pMsg);
}
}
static void _DemoTimer(void) {
WM_HWIN hWin;
WM_HTIMER hTimer;
hWin = WM_CreateWindow(10, 10, 100, 100, WM_CF_SHOW, _cbWin, 0);
hTimer = WM_CreateTimer(hWin, 0, 1000, 0);
while (1) {
GUI_Exec();
}
}