硬汉嵌入式论坛

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

[有问必答] EMWIN 建立一个定时器 进步去case WM_TIMER:

[复制链接]

6

主题

12

回帖

6

积分

新手上路

积分
6
发表于 2015-2-5 22:25:43 | 显示全部楼层 |阅读模式
EMWIN 建立一个定时器 进步去case WM_TIMER:这个分支里面去 不知道为什么

hWinMain=     = WM_CreateWindowAsChild(0, 0, 319, 239, WM_HBKWIN, WM_CF_SHOW, cb, 0);

WM_CreateTimer(hWinMain, /* 接受信息的窗口的句柄 */
                   0,              /* 用户定义的Id。如果不对同一窗口使用多个定时器,此值可以设置为零。 */
                   1000,                       /* 周期,此周期过后指定窗口应收到消息*/
                   0);


在回调函数中 周期性显示电压值
case WM_TIMER:
     GUI_DispStringAt("电值值:", 20, 60);
    GUI_DispFloat(voltage,6);
WM_RestartTimer(pMsg->Data.v, 1000);
break;

但是电压值一直不变  也就是说定时器没启动??????
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106833
QQ
发表于 2015-2-6 10:01:50 | 显示全部楼层
先确定你的:
case WM_TIMER:
     GUI_DispStringAt("电值值:", 20, 60);
    GUI_DispFloat(voltage,6);
WM_RestartTimer(pMsg->Data.v, 1000);
break;

是在cb函数里面呢吧。
回复

使用道具 举报

6

主题

12

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2015-2-6 13:19:39 | 显示全部楼层

回 eric2013 的帖子

eric2013:先确定你的:
case WM_TIMER:
     GUI_DispStringAt("电值值:", 20, 60);
    GUI_DispFloat(voltage,6);
WM_RestartTimer(pMsg->Data.v, 1000);
....... (2015-02-06 10:01) 
在这个函数里面 是不是要使用定时器 需要设置哪些相?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106833
QQ
发表于 2015-2-6 22:00:42 | 显示全部楼层

回 yangzi6000 的帖子

yangzi6000:在这个函数里面 是不是要使用定时器 需要设置哪些相? (2015-02-06 13:19)
改成这样试试,理论上是不需要改成这样的:
WM_CreateTimer(WM_GetClientWindow(hWinMain), /* 接受信息的窗口的句柄 */
                   0,              /* 用户定义的Id。如果不对同一窗口使用多个定时器,此值可以设置为零。 */
                   1000,                       /* 周期,此周期过后指定窗口应收到消息*/
                   0);
回复

使用道具 举报

334

主题

2033

回帖

3040

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3040
发表于 2015-2-9 14:29:30 | 显示全部楼层
你的问题是:不能在WM_PAINT以外的case中用dispstring函数。

如果你必须要用的话,得用invalidatewindow接在后面强制刷新!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 22:19 , Processed in 0.158696 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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