BOOL CSelectBox::SetBitmap(UINT nResourceID, int nIndex, CString strType) { if(nIndex >= 0 && nIndex < (int)m_vecpImage.size()) { Image *&pImage = m_vecpImage[nIndex]; if(pImage != NULL) { delete pImage; pImage = NULL; } if(LoadImageFromIDResource(nResourceID, strType, m_bImageUseECM, pImage)) { m_vecsizeImage[nIndex].SetSize(pImage->GetWidth(), pImage->GetHeight()); UpdateControl(true); return true; } } else if(nIndex == -1 && (int)m_vecpImage.size() < m_nXCount * m_nYCount) { Image *pImage = NULL; if(LoadImageFromIDResource(nResourceID, strType, m_bImageUseECM, pImage)) { CSize sizeImage(pImage->GetWidth(), pImage->GetHeight()); m_vecpImage.push_back(pImage); m_vecsizeImage.push_back(sizeImage); UpdateControl(true); return true; } } return false; }
// 增加tab页(使用资源图片) BOOL CDuiTabCtrl::InsertItem(int nItem, UINT nItemID, CString strName, CString strItemText, CString strAction, UINT nResourceID, CControlBase* pControl, int nImageCount, BOOL bOutLink, int nItemWidth/* = 0*/, CString strType/*= TEXT("PNG")*/) { TabItemInfo itemInfo; itemInfo.bVisible = TRUE; itemInfo.nItemID = nItemID; itemInfo.strName = strName; itemInfo.strText = strItemText; itemInfo.bNeedTextTip = FALSE; itemInfo.strAction = strAction; itemInfo.bOutLink = bOutLink; itemInfo.sizeImage.SetSize(0, 0); itemInfo.nImageCount = 3; if(nImageCount != -1) { itemInfo.nImageCount = nImageCount; } itemInfo.nImageIndex = -1; if(LoadImageFromIDResource(nResourceID, strType, m_bImageUseECM, itemInfo.pImage)) { itemInfo.sizeImage.SetSize(itemInfo.pImage->GetWidth() / itemInfo.nImageCount, itemInfo.pImage->GetHeight()); } itemInfo.rc.SetRect(m_rc.left, m_rc.top, m_rc.left + (nItemWidth == 0 ? itemInfo.sizeImage.cx : nItemWidth), m_rc.bottom); itemInfo.pControl = pControl; return InsertItem(nItem, itemInfo); }
void CDlgPopup::SetBackBitmap(UINT nResourceID) { if(LoadImageFromIDResource(nResourceID, TEXT("PNG"), m_bImageUseECM, m_pImage)) { m_sizeBKImage.SetSize(m_pImage->GetWidth(), m_pImage->GetHeight()); //DrawWindow(); if(m_bInitFinish) { InvalidateRect(NULL); } } }
// 设置图片 BOOL CControlBaseFont::SetBitmap(UINT nResourceID, CString strType) { if(m_pImage != NULL) { delete m_pImage; m_pImage = NULL; } if(LoadImageFromIDResource(nResourceID, strType, m_bImageUseECM, m_pImage)) { m_sizeImage.SetSize(m_pImage->GetWidth() / m_nImagePicCount, m_pImage->GetHeight()); UpdateControl(true); return true; } return false; }
bool CDuiEdit::SetLeftBitmap(UINT nResourceID, CString strType) { if(LoadImageFromIDResource(nResourceID, strType, m_bImageUseECM, m_pLeftImage)) { // 如果宽高比大于或等于3,则按照4张图片,否则按照宽度和高度相同来设置宽度和高度 // 如果是4张图片的情况,才认为小图片是一个按钮 if((m_pLeftImage->GetWidth() / m_pLeftImage->GetHeight()) >= 3) { m_sizeLeftImage.SetSize(m_pLeftImage->GetWidth() / 4, m_pLeftImage->GetHeight()); m_nLeftImageCount = 4; }else { m_sizeLeftImage.SetSize(m_pLeftImage->GetHeight(), m_pLeftImage->GetHeight()); m_nLeftImageCount = m_pLeftImage->GetWidth() / m_pLeftImage->GetHeight(); } return true; } return false; }
// 添加列表项 int CPopupList::AddItem(CString strName, CString strDesc, CString strValue, int nResourceID, CString strImageFile, Color clrText, Color clrDesc) { EditListItem editListItem; editListItem.strName = strName; editListItem.strDesc = strDesc; editListItem.strValue= strValue; editListItem.clrText = clrText; editListItem.clrDesc = clrDesc; editListItem.strImageFile = strImageFile; editListItem.nResourceID = nResourceID; editListItem.pImage = NULL; editListItem.sizeImage.SetSize(0 ,0); if(!strImageFile.IsEmpty()) { if(DuiSystem::Instance()->LoadImageFile(strImageFile, FALSE, editListItem.pImage)) { editListItem.sizeImage.SetSize(editListItem.pImage->GetWidth(), editListItem.pImage->GetHeight()); } } if(editListItem.pImage == NULL || editListItem.pImage->GetLastStatus() != Ok) { if(LoadImageFromIDResource(editListItem.nResourceID, _T("PNG"), m_bImageUseECM, editListItem.pImage)) { editListItem.sizeImage.SetSize(editListItem.pImage->GetWidth(), editListItem.pImage->GetHeight()); } } m_vecItem.push_back(editListItem); if(m_nHoverItem == -1) { m_nHoverItem = 0; } SetItemPoint(); return m_vecItem.size(); }