emwin通过按钮增减Text中的数字,屏幕闪烁。
做了一个简单的东西。多个TEXT自绘,做成单选的方式,选中哪个TEXT,通过按钮对其数字进行修改。现象是,通过按钮修改数字时,屏幕闪烁的很厉害。界面大概是下面图像显示的样子。Run按钮是用来增/减 数字的。按钮的代码如下:
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch (Id)
{
case ID_BUTTON_RUN:
switch (NCode)
{
case WM_NOTIFICATION_RELEASED:
if (test_num < 10)
test_num++;
else
test_num = 0;
TEXT_SetDec(hText, test_num, 2, 0, 0, 0);
break;
}
break;
使用三缓存或者使能窗口使用存储设备即可解决闪烁问题。 按照硬汉的提示,问题已解决。万分感谢!
另外,由于使用使用AppWizard生成的代码,在调用使能窗口使用存储设备函数WM_SetCreateFlags(WM_CF_MEMDEV);,要注意调用位置。
/*********************************************************************
*
* MainTask
*/
void MainTask(void) {
//
// Setup configuration dependent pointers
//
APPW_X_Setup();
WM_SetCreateFlags(WM_CF_MEMDEV);
//
// Initialize AppWizard
//
APPW_Init(APPW_PROJECT_PATH);
......
如果调用位置靠后,则不起作用。
再次感谢硬汉。
页:
[1]