|

楼主 |
发表于 2019-7-16 09:19:22
|
显示全部楼层
本帖最后由 mikekod 于 2019-7-16 09:20 编辑
这个是模拟器代码。
在WM_PAINT消息里面刷,不会有刷图轨迹。
在WM_UPDATE消息里面刷,会有刷图轨迹。
是不是只有WM_PAINT消息里面才能使用存储设备?其他消息就不能使用存储设备了?
//WM_SendMessageNoPara(hWnd1, WM_PAINT); //取消注释这段就没有刷图轨迹, 不取消就会刷图轨迹
WM_SelectWindow(hWnd1);
WM_SendMessageNoPara(WM_GetClientWindow(hWnd1), WM_UPDATE);
//父窗口回调函数
static void _cbWindow1(WM_MESSAGE *pMsg)
{
switch (pMsg->MsgId)
{
case WM_PAINT:
GUI_SetBkColor(0x160104);
GUI_SetColor(GUI_WHITE);
GUI_Clear();
GUI_SetTextMode(GUI_TM_TRANS); //透明显示
GUI_DrawBitmap(&bmbk, 0, 0); //绘制背景图标
/* //取消注释这段就没有刷图轨迹, 不取消就会刷图轨迹
GUI_SetPenSize(44);
GUI_SetColor(0x212121);
GUI_AA_DrawArc(401 * 4, 250 * 4, 205 * 4, 205 * 4, -49, 229);
GUI_SetColor(0xA48E72);
GUI_AA_DrawArc(401 * 4, 250 * 4, 205 * 4, 205 * 4, Rev, 229);
*/
break;
case WM_UPDATE:
//WM_InvalidateWindow(hWnd1);
GUI_SetPenSize(44);
GUI_SetColor(0x212121);
GUI_AA_DrawArc(401 * 4, 250 * 4, 205 * 4, 205 * 4, -49, 229);
GUI_SetColor(0xA48E72);
GUI_AA_DrawArc(401 * 4, 250 * 4, 205 * 4, 205 * 4, Rev, 229);
break;
default:
WM_DefaultProc(pMsg);
}
}
|
|