硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2949|回复: 4
收起左侧

[emWin] 窗口定时器中使窗口无效后无法进入窗口重绘

[复制链接]

4

主题

11

回帖

23

积分

新手上路

积分
23
发表于 2016-6-21 14:38:29 | 显示全部楼层 |阅读模式
使用定时器定时刷新窗口显示内容,定时使窗口无效,然后是窗口重绘,在模拟器中可以正常运行,但是在MDK-STemwin中定使窗口无效,不进入窗口重绘,这是什么问题?请求大神指导!!!!

    switch (pMsg->MsgId)
    {
    case WM_PAINT:
        hWin = pMsg->hWin;
                RefreshWin();//无效后再模拟器中可以执行,但是在MDK中不执行
        break;
    case WM_TIMER:
        WM_InvalidateWindow(_hDialogEnStat);//可以定时执行
        WM_RestartTimer(pMsg->Data.v, 1000);
        break;
       }
回复

使用道具 举报

4

主题

11

回帖

23

积分

新手上路

积分
23
 楼主| 发表于 2016-6-21 17:04:39 | 显示全部楼层
用STemwin5.22就有以上问题,用STemwin5.28就好了。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2016-6-22 09:59:44 | 显示全部楼层
估计是你创建定时器的问题,不是版本的问题造成的,创建定时器的时候一定要是窗口的句柄,不能写对话框的句柄,对话框的句柄会出问题。
回复

使用道具 举报

4

主题

11

回帖

23

积分

新手上路

积分
23
 楼主| 发表于 2016-6-27 09:42:09 | 显示全部楼层
又试了一下,的确不是版本的问题,我创建定时器的时候是窗口句柄,在创建窗口前加 FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX);后窗口在定时器中窗口无效后就可以重绘。
回复

使用道具 举报

3

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2016-7-19 12:20:36 | 显示全部楼层
我也遇到了模拟器中可以,但是实际跑的时候不行,怎么解决的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-17 08:47 , Processed in 0.039042 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表