硬汉嵌入式论坛

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

[emWin] 用slider控制矩形色块颜色,不成功?

[复制链接]

12

主题

16

回帖

52

积分

初级会员

积分
52
发表于 2016-7-11 16:12:39 | 显示全部楼层 |阅读模式
我设置了2个界面,只有从另一个界面切到本界面时,色块颜色才会更新,颜色也是正确的颜色。但在本界面调整颜色,色块总是不会改变颜色。
我在切换界面时用的是:WM_BringToTop(hWin);//顶层显示
回调函数全贴太长了,就贴我感觉是关键的一部分吧。
  1. case WM_PAINT:
  2.         fillrect();
  3.         return;
复制代码
  1. case WM_NOTIFICATION_VALUE_CHANGED:
  2.                 hSlider = pMsg -> hWinSrc;
  3.                 val = SLIDER_GetValue(hSlider);
  4.                 _rectcolor[0] = val;
  5.                 hta(val,disp,3);
  6.                 disp[3] = '\0';
  7.                 text_hWin = WM_GetDialogItem(pMsg->hWin, ID_TEXT_3);
  8.                 TEXT_SetText(text_hWin,disp);
  9.                 fillrect();//此处再次调用填充矩形颜色函数
  10.                 WM_InvalidateWindow(pMsg->hWin);//窗口无效化
  11.      
  12.         break;
复制代码
回复

使用道具 举报

12

主题

16

回帖

52

积分

初级会员

积分
52
 楼主| 发表于 2016-7-11 17:20:47 | 显示全部楼层
解决了,但我感觉这样不对。在每次滑块更改数值后都调用以下代码就好了
  1. WM_BringToBottom(pMsg->hWin);
  2.                 fillrect();
  3.                 WM_BringToTop(pMsg->hWin);
复制代码


有知道的大神帮忙解决一下[s:130]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-14 04:03 , Processed in 0.512199 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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