OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 16913|回复: 10

ucgui的进度条 显示问题

[复制链接]

6

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2013-3-17
在线时间
0 小时
发表于 2013-3-30 10:00:35 | 显示全部楼层 |阅读模式
在做进度条的例程中,按照UCGUI中文手册中的例子,写了如下代码:
  PROGBAR_Handle hProgBar; 
hProgBar = ROGBAR_Create(100, 40, 100, 20, WM_CF_SHOW); 
  PROGBAR_SetBarColor(hProgBar, 0, GUI_GREEN); 
PROGBAR_SetBarColor(hProgBar, 1, GUI_RED); 
PROGBAR_SetValue(hProgBar, 45); 

但是为什么在我的屏幕上,只显示一个白色的进度条,和0%的数值,

45%的数值没有显示出来,以及左右的绿和红 没有显示。。








正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

166

帖子

2

精华

高级会员

Rank: 4

积分
506
金钱
506
注册时间
2012-10-8
在线时间
0 小时
发表于 2013-3-30 10:24:29 | 显示全部楼层
1.执行刷新函数了吗,比如WM_Exec ,GUI_Delay ,GUI_Exec,WM_Exec1
2. 你创建的进度条函数没有句柄吗
   hProgBar = ROGBAR_Create(100, 40, 100, 20, WM_CF_SHOW);
回复 支持 反对

使用道具 举报

6

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2013-3-17
在线时间
0 小时
 楼主| 发表于 2013-3-30 10:41:59 | 显示全部楼层
回复【2楼】Eric2013:
---------------------------------
1:执行这两个了WM_Exec ,GUI_Delay ,

2:有
回复 支持 反对

使用道具 举报

6

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2013-3-17
在线时间
0 小时
 楼主| 发表于 2013-3-30 11:43:37 | 显示全部楼层
另外: 请看这个程序
static void DemoProgBar(void) 

int i; 
PROGBAR_Handle ahProgBar;  
//GUI_Clear(); 
GUI_SetFont(&GUI_Font8x16); 
GUI_DispStringAt( "progress bar", 100,80); 
/* 创建进度条 */ 
ahProgBar = ROGBAR_Create(30, 100, 200, 20, WM_CF_SHOW);
PROGBAR_SetBarColor(ahProgBar, 0, GUI_GREEN); 
PROGBAR_SetBarColor(ahProgBar, 1, GUI_RED);  
PROGBAR_SetValue(ahProgBar, 45); 
GUI_Delay(10);

for(i = 0; i <= 50; i++)  

PROGBAR_SetValue(ahProgBar, i); 
GUI_Delay(10);

GUI_Delay(50);

PROGBAR_Delete(ahProgBar);  


把这个程序放到主函数中,显示左绿,右红,以及45%的数值,但是又有个问题,,

1;为什么,一直就停在45%的这个地方??  从代码上来看的话应该从0开始增加,到了50%后,删掉进度条的。

2:这个代码从主要的部分跟我的第一个有什么不同吗?为什么这个可以显示左绿,右红,以及45%的数值,而第一个的就不可以??
回复 支持 反对

使用道具 举报

6

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2013-3-17
在线时间
0 小时
 楼主| 发表于 2013-3-30 12:13:59 | 显示全部楼层
下面是找到的答案:把FOR循环改为以下代码后

for(i = 0; i <= 50; i++)  

PROGBAR_SetValue(ahProgBar, i); 
  delay_ms(300);
   LED0=!LED0;       //看程序有没有跑到这里
//GUI_Delay(10);   //注释掉
WM_Exec();


就可以正常动作了!~
所以应该是我的GUI_Delay();    这个函数有问题啊
回复 支持 反对

使用道具 举报

5

主题

166

帖子

2

精华

高级会员

Rank: 4

积分
506
金钱
506
注册时间
2012-10-8
在线时间
0 小时
发表于 2013-3-30 12:20:14 | 显示全部楼层
刚才没有看到你4楼的回复
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2013-5-2
在线时间
0 小时
发表于 2013-6-7 20:40:33 | 显示全部楼层
解决了么?
回复 支持 反对

使用道具 举报

9

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2012-6-9
在线时间
0 小时
发表于 2013-8-19 13:16:58 | 显示全部楼层
error C2065: 'PROGBAR_Handle' : undeclared identifier
回复 支持 反对

使用道具 举报

9

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2012-6-9
在线时间
0 小时
发表于 2013-8-19 13:17:46 | 显示全部楼层
我复制你的程序进去出现这个错误是那个头文件没加到吗
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2013-8-20
在线时间
0 小时
发表于 2013-8-20 11:31:21 | 显示全部楼层
我按照这个程序写了一下,发现进度条数值不会变,郁闷啊
回复 支持 反对

使用道具 举报

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2014-11-13
在线时间
2 小时
发表于 2015-2-14 12:57:16 | 显示全部楼层
刚开始用ucgui,按照2楼说的,解决了。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-25 19:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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