void CEliten_Teach_BoxDlg::Load_bitmap(void)
{
CBitmap mybitmap;
mybitmap.LoadBitmapW(IDB_BITMAP7);
CDC *pdc = GetDC(); // 獲取設備環境句柄,便于在GDI上繪圖
CDC srcDC; // 加在位圖的記憶體DC
srcDC.CreateCompatibleDC(pdc); // 創建與該視窗兼容的DC,這個DC相當于一個記憶體緩沖區
srcDC.SelectObject(&mybitmap); // 把物件資源(位圖)選入到指定的設備環境DC中
//BOOLBitBlt(int x,int y,int nWidth,int nHeight,CDC*pSrcDC,int xSrc,int ySrc,DWORD dwRop);
/* BitBlt引數:x:目標視窗區域左上角x軸坐標點
y:-----------------y軸坐標點
nWidth:位圖寬度
nHight:位圖高度
CDC* SrcDC:設備環境指標
xSrc:設備環境的起點x軸坐標,函式從該起點復制位圖到目標設備
ySrc:設備環境的起點y軸坐標,函式從該起點復制位圖到目標設備
dwRop:光柵操作代碼。SRCCOPY:直接復制源設備區域到目標設備中*/
//CRect rect;
//GetClientRect(rect); // 獲得表單大小
pdc->BitBlt(200,0,57,30,&srcDC,0,0,SRCCOPY );//復制srcDC里的位圖至本視窗
// 釋放資源
mybitmap.DeleteObject();
ReleaseDC(pdc);
ReleaseDC(&srcDC);
/*********************************************************************/
}
上面代碼可以在Windows系統能編譯通過,可以運行并顯示位圖;但是在winCE設備下可以編譯通過,運行的程序中不顯示位圖。這個問題困擾我很久了,跪求大神指點
uj5u.com熱心網友回復:
我找到原因了,在winCE中加載位圖,只能加載到視窗的底層,會被其他的控制元件覆寫。我想知道在不用圖片控制元件情況下,怎么才能將位圖顯示在狀態欄上面uj5u.com熱心網友回復:
從狀態欄 CStatusBar 派生新類, WM_ERASEBKGND 中貼圖轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/65520.html
標籤:界面
上一篇:QT5.9+win7求助
