开发wince智能设备应用程序,mfc基于对话框的程序,用bmp格式图片做对话框背景,
图片800*480像素,大小在1M左右,
对话框显示时图片加载很慢,怎么优化啊?
代码如下:OnPaint()
{
CPaintDC dc(this);
CDC memDC;
CBitmap bmBkgnd;
bmBkgnd.Attach( m_Bkgnd ); memDC.CreateCompatibleDC(&dc);
CBitmap *pOldBm = memDC.SelectObject( &bmBkgnd ); BITMAP bm;
bmBkgnd.GetObject(sizeof(bm), &bm); dc.BitBlt(0, 0, bm.bmWidth, bm.bmHeight, &memDC, 0, 0, SRCCOPY );
memDC.SelectObject( pOldBm );
bmBkgnd.Detach();
CDialog::OnPaint();
}OnInitDialog()中加载图片
m_Bkgnd =::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1) );
图片800*480像素,大小在1M左右,
对话框显示时图片加载很慢,怎么优化啊?
代码如下:OnPaint()
{
CPaintDC dc(this);
CDC memDC;
CBitmap bmBkgnd;
bmBkgnd.Attach( m_Bkgnd ); memDC.CreateCompatibleDC(&dc);
CBitmap *pOldBm = memDC.SelectObject( &bmBkgnd ); BITMAP bm;
bmBkgnd.GetObject(sizeof(bm), &bm); dc.BitBlt(0, 0, bm.bmWidth, bm.bmHeight, &memDC, 0, 0, SRCCOPY );
memDC.SelectObject( pOldBm );
bmBkgnd.Detach();
CDialog::OnPaint();
}OnInitDialog()中加载图片
m_Bkgnd =::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1) );
解决方案 »
- VS2008和MATLAB2010b混合编程问题 error LINK2028 恳请大虾指教!!
- 求屏幕截屏的工程 链接即可
- 高手请进*关于定制通用对话框cFiledialog的TOOLTIP*
- 关于COM的比较麻烦的几个问题
- 一条语句就能访问的变量是否需要互斥
- 高手请进,一个关于几种数据库访问方式同时操纵SQL数据库的问题
- 在document 的Serialize函数中这样写程序,将文件保存后为什么没有内容?
- 请问如何用STL实现一颗二叉树呢?
- 请教如何让 CFormView 里的对话框跟随主程序大小的变化而变化?
- DCOM的no register interface错误??
- 如何创建进程调用winwap4.0.27 RC1并隐藏窗口?
- 如何用GetDlgItemText函数,把编辑框里面的字符串,读取到char型数组里!
Attach和Detach这两个函数会影响窗口显示时间,图片是在OnInitDialog()中加载的。
在windows上安装dirctX开发包应该可以的,我以前用过的。