当前位置: 代码迷 >> WinCE >> wince 下mfc基于对话框程序 加载bmp慢,该如何处理
  详细解决方案

wince 下mfc基于对话框程序 加载bmp慢,该如何处理

热度:46   发布时间:2016-04-28 13:17:36.0
wince 下mfc基于对话框程序 加载bmp慢
开发wince智能设备应用程序,mfc基于对话框的程序,用bmp格式图片做对话框背景,
图片800*480像素,大小在1M左右,
对话框显示时图片加载很慢,怎么优化啊?
代码如下:
C/C++ code
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) );

------解决方案--------------------
慢?有多慢,LZ有没有实际测一下数据?

从资源中加载,应该不会慢的。
------解决方案--------------------
可以 CBitmap bmBkgnd;
bmBkgnd.Attach( m_Bkgnd );

memDC.CreateCompatibleDC(&dc);
CBitmap *pOldBm = memDC.SelectObject( &bmBkgnd );中的变量定义为全局的
  相关解决方案