硬汉嵌入式论坛

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

[emWin] WM_PAINT消息的重绘问题

[复制链接]

14

主题

35

回帖

14

积分

初级会员

积分
14
发表于 2017-8-25 17:52:53 | 显示全部楼层 |阅读模式
在窗口回调函数的WM_PAINT做如下处理:

case WM_PAINT:
    GUI_SetColor(GUI_BLUE);
    GUI_FillRect(xPos1, 100, xPos2, 130);
    break;

发现xPos2在外部被改变时,背景的宽度有变换,但是xPos1在外部被改变时,背景没有变换。
调试时,断点到GUI_FillRect(xPos1, 100, xPos2, 130);时,xPos1是被改变的,但是背景效果则没有改变。
不太了解其重绘机制,请求帮忙解答,该如何解决?谢谢~
回复

使用道具 举报

14

主题

35

回帖

14

积分

初级会员

积分
14
 楼主| 发表于 2017-8-25 17:56:59 | 显示全部楼层
之前用了WM_InvalidateWindow(pMsg->hWin);放在case WM_PAINT:消息里面则无效果
放在其他消息里面则效果OK。想知道WM_PAINT消息是如何相应重绘机制的,谢谢~
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2017-8-26 03:00:19 | 显示全部楼层

回 mumuha 的帖子

mumuha:之前用了WM_InvalidateWindow(pMsg->hWin);放在case WM_PAINT:消息里面则无效果
放在其他消息里面则效果OK。想知道WM_PAINT消息是如何相应重绘机制的,谢谢~ (2017-08-25 17:56) 
emWin的裁剪机制做的还挺麻烦的,是一片区域,有时间可以研究UCGUI3.98的源码,这个核心好像变化不大。
回复

使用道具 举报

5

主题

95

回帖

110

积分

初级会员

积分
110
发表于 2019-11-9 17:59:03 | 显示全部楼层
我现在遇到的问题和你基本差不多,我是按键重绘,改变按键的颜色,但是调用了重绘函数,且填充的颜色仿真的确是变了,但是界面却没有更新
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 12:59 , Processed in 0.309689 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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