7179|14

83

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

CE下的DrawText,做滚动字幕的时候,绘了一会儿文字后不动了! [复制链接]

我在wince平台下使用DrawText函数,做滚动字幕,用一个变量start作为起始点,开始往下画,当计时器被激发的时候,start向上移动一点,在往下绘制。
但是,当start为负且负到一定大的时候(如-1000),就不动了,请各位大侠帮帮忙!谢谢,代码如下:
for(int i=startline;i         {
                if(rect.top<=123&&rect.top>=96)
                    memDC.SetTextColor(RGB(255,255,0));
                else if(rect.top<20)
                        memDC.SetTextColor(RGB(0,100,0));
                else if(rect.top<97)
                        memDC.SetTextColor(RGB(0,150,0));
                else
                        memDC.SetTextColor(RGB(0,250,0));

                memDC.DrawText(m_lyric.strLyric,&rect,DT_CENTER);
                rect.top+=26;//上移
                rect.bottom=rect.top+26;
        }  

最新回复

问题解决,散分! 原来,局部变量的DC也需要delete啊!!  详情 回复 发表于 2007-12-3 10:45
点赞 关注

回复
举报

72

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
这种问题,楼主单步调试一下,就能知道错误出在什么地方了。
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
麻烦 这位仁兄说一下吧
因为我在pc上是正常得啊!
是不是因为那个函数在ce下运行不正确啊!

如果能给出一定得解决办法,更好
调试通过,马上结帖,散分
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(中级)

4
 
PC上正常关CE什么事啊,又不是一样的系统,你代码放LINUX上都编译不了。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

5
 
linux那是跨了很大的平台了
ce上,这几个函数都支持啊。
所以我就搞不清为什么不正确了,麻烦大侠们给点建议啊
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

6
 
我在OpentCF里看过里有个控件可以作到滚动字幕的效果!
在这之前我们也想了个笨方法,时间控件让lable控件移动,见笑了~呵呵   
int i = 1;
         int x = 0;
         private void timer1_Tick(object sender, EventArgs e)
         {
               
                 Point point = new Point(x, 118);
                 if (x >240)
                 {
                  
                     i = i * (-1);
                    
                 }
                 if (x <-lblmessage.Width)
                 {
                  
                     i = i * (-1);
                 }
               
                 lblmessage.Location = point;
                 x = x + i;
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

7
 
谢谢!
但是,我想知道,我的程序为什么不能运行啊?
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 
怎么没有人帮顶啊
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

9
 
ding
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

10
 
lz看看自己贴的代码和文字说明。
代码里连start这个你所描述的重要变量都没有出现。你想别人怎么给你解决。

话要说回来,这种问题也是自己慢慢跟代码就能找到原因的。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(中级)

11
 
是的,只有调试是解决问题的办法
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

12
 
start是绘制字幕的区域的(rect结构),top值
我单步调试过了,但就是找不到原因,而且,也不是负到一定的程度就不动,而是绘几次后,就不动了
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

13
 
很可能是内存耗光了,你自己看看
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

14
 
基本上应该是忘记了释放 DC   releasedc()
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

15
 
问题解决,散分!
原来,局部变量的DC也需要delete啊!!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表