示例#1
0
文件: SSkinGif.cpp 项目: 3rdexp/soui
    LRESULT SSkinGif::OnAttrSrc( const SStringW &strValue,BOOL bLoading )
    {
        SStringTList strLst;
        size_t nSegs=ParseResID(S_CW2T(strValue),strLst);
        LPBYTE pBuf=NULL;
        size_t szBuf=0;

        if(nSegs == 2)
        {
            szBuf=GETRESPROVIDER->GetRawBufferSize(strLst[0],strLst[1]);
            if(szBuf)
            {
                pBuf=new BYTE[szBuf];
                GETRESPROVIDER->GetRawBuffer(strLst[0],strLst[1],pBuf,szBuf);
            }
        }else
        {//自动从GIF资源类型里查找资源
            szBuf=GETRESPROVIDER->GetRawBufferSize(_T("gif"),strLst[0]);
            if(szBuf)
            {
                pBuf=new BYTE[szBuf];
                GETRESPROVIDER->GetRawBuffer(_T("gif"),strLst[0],pBuf,szBuf);
            }
        }
        if(pBuf)
        {
            LoadFromMemory(pBuf,szBuf);
            delete []pBuf;
        }
        return S_OK;
    }
示例#2
0
BOOL RichEditOleBase::InitOleWindow(IRichEditObjHost* pHost)
{
    BOOL bRet = FALSE;
    if(!m_strXmlLayout.IsEmpty())
    {
        pugi::xml_document xmlDoc;
        SStringTList strLst;

        if(2 == ParseResID(m_strXmlLayout,strLst))
        {
            LOADXML(xmlDoc,strLst[1],strLst[0]);
        }else
        {
            LOADXML(xmlDoc,strLst[0],RT_LAYOUT);
        }    
        
        if (xmlDoc)
        {
            m_oleWindow.SetHostRichEdit(pHost);
            bRet = m_oleWindow.InitFromXml(xmlDoc.child(L"root"));
            SASSERT(bRet);
            m_oleWindow.Move(0, 0, m_sizeNatural.cx, m_sizeNatural.cy);
            CalculateExtentSize(m_sizeNatural);
        }
    }

    return bRet;
}
示例#3
0
 IBitmap * SResProviderMgr::LoadImage2(const SStringW & strImgID)
 {
     SStringT strImgID2 = S_CW2T(strImgID);
     SStringTList strLst;
     int nSegs = ParseResID(strImgID2,strLst);
     if(nSegs == 2) return LoadImage(strLst[0],strLst[1]);
     else return NULL;
 }
示例#4
0
 HICON SResProviderMgr::LoadIcon2(const SStringW & strIconID)
 {
     SStringT strIconID2 = S_CW2T(strIconID);
     SStringTList strLst;
     int nSegs = ParseResID(strIconID2,strLst);
     if(nSegs == 2)
     {
         int cx = _ttoi(strLst[1]);
         return LoadIcon(strLst[0],cx,cx);
     }
     else 
     {
         return LoadIcon(strLst[0]);
     }
 }
示例#5
0
文件: SApp.cpp 项目: FuckGOV/soui
BOOL SApplication::LoadXmlDocment(pugi::xml_document & xmlDoc, const SStringT & strXmlTypeName)
{
    SStringTList strLst;
    if(2!=ParseResID(strXmlTypeName,strLst)) return FALSE;
    return LoadXmlDocment(xmlDoc,strLst[1],strLst[0]);
}