原始碼如下
CDC *dc1=m_img1.GetDC(),*dc2=m_img2.GetDC(),*dc3=m_img3.GetDC(),*dc4=m_img4.GetDC();//h獲得句柄
CDC *dc5=m_img5.GetDC(),*dc6=m_img6.GetDC(),*dc7=m_img7.GetDC(),*dc8=m_img8.GetDC();
CDC *dc9=m_img9.GetDC(),*dc10=m_img10.GetDC(),*dc11=m_img11.GetDC(),*dc12=m_img12.GetDC();
int height,width;
if(!img.IsNull()) img.Destroy();
CString imgPath=_T("E:\\MFC期中\\"),str,imgPath1;
for(int i=1;i<9;i++)
{
str.Format(_T("%d"),i);
imgPath1=imgPath+str+_T(".png");
MessageBox(imgPath1);
img.Load(imgPath1);
height=img.GetHeight()/10;
width=img.GetWidth()/10;
TransparentPNG(&img);
if(!img.IsNull())
switch(i){
case 1:img.Draw(dc1->m_hDC,CRect(0,0,width,height));break;
case 2:img.Draw(dc2->m_hDC,CRect(0,0,width,height));break;
case 3:img.Draw(dc3->m_hDC,CRect(0,0,width,height));break;
case 4:img.Draw(dc4->m_hDC,CRect(0,0,width,height));break;
case 5:img.Draw(dc5->m_hDC,CRect(0,0,width,height));break;
case 6:img.Draw(dc6->m_hDC,CRect(0,0,width,height));break;
case 7:img.Draw(dc7->m_hDC,CRect(0,0,width,height));break;
case 8:img.Draw(dc8->m_hDC,CRect(0,0,width,height));break;
case 9:img.Draw(dc9->m_hDC,CRect(0,0,width,height));break;
case 10:img.Draw(dc10->m_hDC,CRect(0,0,width,height));break;
case 11:img.Draw(dc11->m_hDC,CRect(0,0,width,height));break;
case 12:img.Draw(dc12->m_hDC,CRect(0,0,width,height));break;
}
}
想要實作1.png; 2.png等以數字序號命名的不同控制元件圖片的匯入;
但是運行后出現斷點
ATLASSUME( m_hBitmap == NULL );
遇到斷點時跳過繼續達到期望效果。求問是什么原因
救救孩子吧,孩子真的太難了
uj5u.com熱心網友回復:
if(!img.IsNull()) 放到 img.Load 之后立即判斷是否有效uj5u.com熱心網友回復:
還是沒有用,,,依舊是出現斷點uj5u.com熱心網友回復:
if(!img.IsNull()) img.Destroy();if(img.Load(XXXX) == S_OK)
{
……
}
uj5u.com熱心網友回復:
找到 ATLASSUME( m_hBitmap == NULL ); 在哪里uj5u.com熱心網友回復:
已解決,修改除錯為release轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/28748.html
標籤:進程/線程/DLL
上一篇:C#的建構式呼叫其它的建構式
