void CPageSignalAddCross::OnCbnSelchangeCrossType()
{
int nIndex = m_pCrossType.GetCurSel();
if(nIndex == -1) return;
CString str;
m_pCrossType.GetLBText(nIndex, str);
CTDCross* pCross;
if(g_ObserverCross.FindItem(str, pCross))
{
CString strFile;
strFile = HXCM_PATH_CROSS;
strFile += _T("image\\");
strFile += pCross->GetItemImage();
m_strFileImage = strFile;
}
if(m_strFileImage != _T(""))
{
m_Image.Destroy();
m_Image.Load(m_strFileImage);
}
CRect rect;
m_pCrossImage.GetClientRect(rect);
InvalidateRect(rect);
}
void CPageSignalAddCross::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rect;
m_pCrossImage.GetClientRect(rect);
CDC* pDc = m_pCrossImage.GetDC();
if(!m_Image.IsNull())
{
m_Image.Draw(pDc->GetSafeHdc(), rect);
}
}
在写程序的时候,用了一个combobox 来载入不同的图片,原先没有用Destroy(),改变的时候会报错