完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我想在对话框的一个地方绘制一个渐变的矩形,初始化的时候渐变的矩形被绘制出来了,再次进WM_PAINT事件时,我想改变渐变矩形的大小,可是没有反应。部分代码如下:
case WM_PAINT: GUI_DrawGradientV(311,240-SpeedCurVal,320,240,GUI_WHITE,GUI_RED); SpeedCurVal++; if(SpeedCurVal == 200) SpeedCurVal = 0; break; 在debug的时候 代码确实执行了,可是没有任何改变。 调用WM_Paint()函数,触发重绘事件,矩形的大小会改变,可是没运行一会就死机了。 望大神解答啊!!!!!!!!!! |
|
相关推荐
2个回答
|
|
|
#include "GUI.h"
#include "DIALOG.h" #include /********************************************************************************************************** * 宏定义 **********************************************************************************************************/ #define ID_WINDOW_0 (GUI_ID_USER + 0x00) #define ID_TIMER_0 (GUI_ID_USER + 0x30) /********************************************************************************************************** * 函 数 名: * 功能说明: 回调函数 * 形 参: pMsg 消息指针变量 * 返 回 值: 无 **********************************************************************************************************/ static void _cbCallback(WM_MESSAGE * pMsg) { static int SpeedCurVal = 0; switch (pMsg->MsgId) { case WM_PAINT: GUI_SetBkColor(GUI_BLACK); GUI_Clear(); GUI_DrawGradientV(20,240 - SpeedCurVal,320,240,GUI_WHITE,GUI_RED); break; case WM_INIT_DIALOG: WM_CreateTimer(pMsg->hWin,ID_TIMER_0,40,0); break; case WM_TIMER: SpeedCurVal++; if(SpeedCurVal == 200) { SpeedCurVal = 0; } WM_RestartTimer(pMsg->Data.v, 40); WM_InvalidateWindow(pMsg->hWin); break; default: WM_DefaultProc(pMsg); } } static const GUI_WIDGET_CREATE_INFO _aDialogCreateModality[] = { { WINDOW_CreateIndirect, "", ID_WINDOW_0, 0, 0, 480,272, 0, 0x0, 0 }, }; void MainTask(void) { WM_SetCreateFlags(WM_CF_MEMDEV); GUI_Init(); GUI_CreateDialogBox( _aDialogCreateModality, GUI_COUNTOF(_aDialogCreateModality), &_cbCallback, WM_HBKWIN, 0, 0); while (1) { GUI_Delay(1000); } } |
|
|
|
|
|
我主要的问题其实是要设置我要绘制渐变矩形的那个区域无效就行了, WM_InvalidateArea(&Rect); //使显示器的部分区域无效 谢谢你的回答
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1021浏览 1评论
1850浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1360浏览 1评论
1852浏览 0评论
1178浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 05:05 , Processed in 2.269200 second(s), Total 47, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1507