根據圖像路徑,創建CBitmap對象的方法
睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接
因為項目的關系,需要根據圖像路徑,創建CBitmap對象。起初查資料找到了LoadBitmap這個函數,根據CSDN得
BOOL LoadBitmap ( LPCTSTR lpszResourceName );
Parameters
- lpszResourceName:Points to a null-terminated string that contains the name of the bitmap resource.
以為這里的lpszResourceName參數是文件路徑名,但經過嘗試,失敗了!找了很多資料才發現問題。
lpszRecourceName按字面意思好像是"指向資源的名稱字符串",可實際呢?卻不是一般理解的磁盤上的資源文件名,而是VC工程內部已導入的資源名,所以把外部文件的名稱賦給它當然不成功了.問題怎么解決呢?---用API函數HBITMAP LoadImage("文件名");不過該函數返回的是指向Load圖片的句柄,所以需要用到CBitmap的Attach方法:
////直接從外部文件加載圖片
HBITMAP bitmap;
bitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),strFileName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
m_backBitmap.DeleteObject();
if(!m_backBitmap.Attach(bitmap))
{
MessageBox("導入背景圖失敗!","提示",MB_OK);
return;
}