和MFC一样,在smartphone上绘制的时候也会遇到背景闪烁的问题
在MFC上解决方法一般是三个步骤:
1.屏蔽系统自己的背景刷新(填充背景色)
BOOL XXXX::OnEraseBkgnd(CDC* pDC)
{
// Left empty, avoids undesirable flickering
return true;
}
注意:如果屏蔽了这里,一定要自己处理整个的背景刷新
2.在onpaint ondraw中贴图的时候,利用缓冲,整体绘制
void Onpaint()
{
CDC memdc;
//....
}
3.尽量进行局部刷新
InvalidateRect(…);
Smartphone上处理背景闪烁,也是相同的步骤
1,屏蔽系统背景绘制
protected override void OnPaintBackground(PaintEventArgs paintg)
{
// Left empty, avoids undesirable flickering
}
把上面代码写入自己的FORM中就可以,一样需要自己处理整个的背景刷新
2.在中贴图的时候,利用缓冲,整体绘制
private void Mainlist_Paint(object sender, PaintEventArgs e)
{
Graphics gxOff; //缓冲Graphics
if(bkscreen==null) //BITMAP bkscreen
bkscreen = new Bitmap(ClientSize.Width, ClientSize.Height);
gxOff = Graphics.FromImage(bkscreen);
gxOff.Clear(this.BackColor);
gxOff.DrawImage(bkImage, 0, 0);
//最后整体贴入设备上
e.Graphics.DrawImage(bkscreen, 0, 0);
}
3.尽量进行局部刷新
this.Invalidate(new Rectangle(0, 34, 30, 170));
this.Update();
利用上面的方法就能很好的解决背景闪烁的问题了.
哦,最烦重绘,弄不清楚
你是用evc4.0开发吗?在做些什么呢?
to zuilang:
没有用EVC,用的是.net2005+CF1
作一些娱乐性软件
在pc上还经常用到memdc,先把要更新的painting画到memdc然后一次性bitblt到device的dc上,是不是也可以在smartphone上试试
- 访问:35412次
- 积分:480分
- 排名:第21名
- 随笔:48篇
- 评论:99条
随笔分类
随笔归档
个人相册
阅读排行榜
- MMS彩信是怎么炼成地 (2025)
- AnimatedGifEncoder.cs GifDecoder.cs (1380)
- Smartphone上关于Back Key(后退键)的问题 (1161)
- 给windows mobile cab安装包添加setup.dll实现自定义操作 (1124)
- teky春运战争 (1114)
- flex开发技术详解 (1081)
- C# 中调用DLL (1076)
- 访客留言 (1041)
- 看了 **的 想到的 (1011)
- 保证Windows mobile上程序在多窗口的模式中窗口之间切换显示的连续性 (996)
评论排行榜
- AnimatedGifEncoder.cs GifDecoder.cs (17)
- 看了 **的 想到的 (15)
- C# 中调用DLL (11)
- Symbian OS/C++移动应用开发讲义 (10)
- 访客留言 (9)
- 入园第一贴 (8)
- Smartphone上解决背景闪烁问题 (4)
- Smartphone程序开发环境 (4)
- 设置smartphone桌面背景图片 (3)
- Smartphone上关于Back Key(后退键)的问题 (3)
最新评论
- 我们的人生 该如何规划呢?
清风雨:re: 我们的人生 该如何规划呢? 每个人都有自己的追逐,即使失败又若何?谋事在人,成事在天。 ...
- 给windows mobile cab安装包添加setup.dll实现自定义操作
neverling:re: 给windows mobile cab安装包添加setup.dll实现自定义操作 在CE&...
- teky春运战争
就:re: teky春运战争 哈哈
- 访客留言
jiaon:re: 访客留言 给我也发个吧 jiaon1983@126.com 谢了
- 访客留言
lk:re: 访客留言 大哥,我急需那几个操作gif的类。请发到我的邮箱 364482668@qq.co...
- 访客留言
hsong:re: 访客留言 你好,我最近在写smartphone的程序,请问有设置桌面壁纸的完整代码吗?
- 访客留言
金迷:您好,请帮个忙好吗 在您的文章中看到了一些关于gif的资料,苦于没有办法下载到,您能否把Anima...
- 访客留言
songyuling_girl:re: 访客留言 你好,"C# 中调用DLL"这篇文章中讲的我就是实...
- 访客留言
ly:re: 访客留言 ^^,vc的不行
- 保证Windows mobile上程序在多窗口的模式中窗口之间切换显示的连续性
fish:re: 保证Windows mobile上程序在多窗口的模式中窗口之间切换显示的连续性 请问下把E...