wince 下mfc基于对话框程序 加载bmp慢,该如何处理
wince 下mfc基于对话框程序 加载bmp慢
开发wince智能设备应用程序,mfc基于对话框的程序,用bmp格式图片做对话框背景,
图片800*480像素,大小在1M左右,
对话框显示时图片加载很慢,怎么优化啊?
代码如下:
OnInitDialog()中加载图片
m_Bkgnd =::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1) );
------解决方案--------------------
慢?有多慢,LZ有没有实际测一下数据?
从资源中加载,应该不会慢的。
------解决方案--------------------
可以 CBitmap bmBkgnd;
bmBkgnd.Attach( m_Bkgnd );
memDC.CreateCompatibleDC(&dc);
CBitmap *pOldBm = memDC.SelectObject( &bmBkgnd );中的变量定义为全局的
开发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 );中的变量定义为全局的