如何快速显示对话框的背景图片?

PowerAll888 2009-12-15 09:13:01
我使用2440+wince5.0的平台,显示器的分辨率为800*480,我在对话框中使用一个800*480的256色的bmp文件作为对话框的背景图片,在OnPaint函数中将背景图片贴上,代码如下:
void CMainMenuDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting

//先绘背景
CDC MemDC;
CBitmap *pOldBitmap;
MemDC.CreateCompatibleDC(&dc);
pOldBitmap=MemDC.SelectObject(&m_BitBackground);

dc.BitBlt(0,0,800,480,&MemDC,0,0,SRCCOPY); //画背景

MemDC.SelectObject(pOldBitmap);
MemDC.DeleteDC();
}

我并且在OnEraseBkgnd函数中直接返回,代码如下:
BOOL CMainMenuDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
return TRUE;
//return CDialog::OnEraseBkgnd(pDC);
}

我发现显示该对话框时,还是可以感觉到画面由上至下的刷新过程,哪位有办法对这一现象进行优化的办法?
...全文
177 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
WceUi 2009-12-16
  • 打赏
  • 举报
回复
你到http://www.wceui.cn/download.html下载吧,有转565的工具

[Quote=引用 9 楼 wceui 的回复:]
我头像的网址里面有转565格式位图的工具,你可以下载一下,,但肯定不是16bit
引用 7 楼 powerall888 的回复:
使用16bit位图试验了一下,刷新比256色的位图稍慢一点。

[/Quote]

[Quote=引用 11 楼 powerall888 的回复:]
WceUi能否具体一点?
我在www.wceui.cn上没有找到转565工具。

我在pudn上下载了一个rgb565程序,生成了.bxp文件,但是这个文件类型程序都不能打开;如何使用???
[/Quote]
PowerAll888 2009-12-16
  • 打赏
  • 举报
回复
WceUi能否具体一点?
我在www.wceui.cn上没有找到转565工具。

我在pudn上下载了一个rgb565程序,生成了.bxp文件,但是这个文件类型程序都不能打开;如何使用???
91program 2009-12-16
  • 打赏
  • 举报
回复
如果调用系统API不能满足要求,只能考虑直接写显存啦
tcdzyq 2009-12-16
  • 打赏
  • 举报
回复
mark
luocan1986 2009-12-15
  • 打赏
  • 举报
回复
双缓冲。。
GARY 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wceui 的回复:]
请不要用256色的,,它并不快,
用16 位(565格式的位图)来试试,,应该很不错的
[/Quote]
对的。256色的位图效果应该不会太好。
用16色的。
——————————————————————————
JOYZML(菜鸟朱铭雷)
WceUi 2009-12-15
  • 打赏
  • 举报
回复
请不要用256色的,,它并不快,
用16 位(565格式的位图)来试试,,应该很不错的
PowerAll888 2009-12-15
  • 打赏
  • 举报
回复
试验了一下,效果不明显,还是可以看到从上到下刷新的过程。
alien75 2009-12-15
  • 打赏
  • 举报
回复
MemDC做成一个成员变量在初次调用的时候创建,程序退出的时候销毁,以空间换时间
WceUi 2009-12-15
  • 打赏
  • 举报
回复
我头像的网址里面有转565格式位图的工具,你可以下载一下,,但肯定不是16bit
[Quote=引用 7 楼 powerall888 的回复:]
使用16bit位图试验了一下,刷新比256色的位图稍慢一点。
[/Quote]
WceUi 2009-12-15
  • 打赏
  • 举报
回复
16位,,!= 16 bit

..........

[Quote=引用 7 楼 powerall888 的回复:]
使用16bit位图试验了一下,刷新比256色的位图稍慢一点。
[/Quote]
PowerAll888 2009-12-15
  • 打赏
  • 举报
回复
使用16bit位图试验了一下,刷新比256色的位图稍慢一点。
91program 2009-12-15
  • 打赏
  • 举报
回复
这是硬件板子性能的问题,软件上无法解决的

当然前提是显示驱动没有问题

19,518

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧