// 从XML设置图片信息属性 HRESULT CDlgPopup::OnAttributeBkImage(const CString& strValue, BOOL bLoading) { if (strValue.IsEmpty()) return E_FAIL; // 通过Skin读取 CString strSkin = _T(""); if(strValue.Find(_T("skin:")) == 0) { strSkin = DuiSystem::Instance()->GetSkin(strValue); if (strSkin.IsEmpty()) return E_FAIL; }else { strSkin = strValue; } if(strSkin.Find(_T(".")) != -1) // 加载图片文件 { CString strImgFile = strSkin; if(strSkin.Find(_T(":")) != -1) { strImgFile = strSkin; } SetBackBitmap(strImgFile); }else // 加载图片资源 { UINT nResourceID = _wtoi(strSkin); SetBackBitmap(nResourceID); } return bLoading?S_FALSE:S_OK; }
BOOL CDlgPopup::Create(CWnd *pParent, CRect rc, UINT uMessageID, UINT nResourceID, enumBackMode enBackMode/* = enBMFrame*/, int nFrameSize/* = 4*/) { CString sWindowClassName = AfxRegisterWndClass(CS_DBLCLKS,::LoadCursor(NULL, IDC_ARROW)); m_uMessageID = uMessageID; m_point.SetPoint(rc.left, rc.top); m_size.SetSize(rc.Width(), rc.Height()); m_enBackMode = enBackMode; m_nFrameSize = nFrameSize; SetBackBitmap(nResourceID); DWORD dwStyle = WS_EX_TOOLWINDOW; if(m_bTopMost) // 窗口总在最前面 { dwStyle |= WS_EX_TOPMOST; } if(!CWnd::CreateEx(dwStyle, sWindowClassName, NULL, WS_POPUP, rc, pParent, 0, NULL)) { return FALSE; } return TRUE; }
BOOL CDlgPopup::Create(CWnd *pParent, CRect rc, UINT uMessageID, CString strImage, enumBackMode enBackMode/* = enBMFrame*/, int nFrameSize/* = 4*/) { CString sWindowClassName = AfxRegisterWndClass(CS_DBLCLKS,::LoadCursor(NULL, IDC_ARROW)); m_uMessageID = uMessageID; m_point.SetPoint(rc.left, rc.top); m_size.SetSize(rc.Width(), rc.Height()); m_enBackMode = enBackMode; m_nFrameSize = nFrameSize; SetBackBitmap(strImage); if(CWnd::CreateEx(WS_EX_TOPMOST | WS_EX_TOOLWINDOW,sWindowClassName ,NULL,WS_POPUP, rc, pParent, 0, NULL)) { return FALSE; } return TRUE; }