首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

CDHtmlDialog加载图片使用相对路径的有关问题

2012-01-30 
CDHtmlDialog加载图片使用相对路径的问题在我的htm中是这样设置背景图片的background-image:url(xxxxx)1.

CDHtmlDialog加载图片使用相对路径的问题
在我的htm中是这样设置背景图片的
background-image:url(xxxxx);

1.我在网上搜了一下,我按照这个页面上的方法做了http://hi.baidu.com/catalove/blog/item/83e7962b446007fce7cd4008.html
写成
background-image:url(res://#130); //130是我resource.h里面这个背景图的资源id。
失败。。。。

2.直接写相对路径
background-image:url(../xd/bg.gif);
失败。。。。

请问怎么做?
 

[解决办法]
在 html head中加上base属性即可使用相对路径 http://www.w3school.com.cn/tags/tag_base.asp
[解决办法]
呵呵,我曾经也遇到这个问题,不过都很好的解决了,外置CSS或JS文件也一样的,贴上我写的代码,m_pDhtmlDlg为CDhtmDlg的指针

C/C++ code
typedef enum InnerFileType{    FileTypeJavaScript,    FileTypeCSS,    FilePathBackground,};/*设置外链JS,CSS文件或背景图片文件路径,bRelative为TRUE时,filePath指定为相对于可执行文件的路径,否则为绝对路径。如果设置了错误路径,会导致javascript运行出错,css无效。*/BOOL CDhtmlHelp::SetJSOrCSSFilePath(InnerFileType type, LPCTSTR eleID, LPCTSTR filePath, BOOL bRelative /*= TRUE*/ ){    HRESULT hr;    IHTMLElement *pEle;    hr = m_pDhtmlDlg->GetElement( eleID, &pEle );    if ( FAILED(hr) )    {        return FALSE;    }    CComBSTR name;    if ( type == FileTypeJavaScript )    {        name = _T("src");    }    else if ( type == FileTypeCSS )    {        name = _T("href");    }    else if ( type == FilePathBackground)    {        name = _T("background");    }    else     {        return FALSE;    }        TCHAR tszPath[MAX_PATH] = {0};    if ( !bRelative )    {        _tcscpy(tszPath,filePath);    }    else    {        if ( 0 == GetModuleFileName( NULL, tszPath, MAX_PATH ) )        {            return FALSE;        }        //取exe文件所在目录        TCHAR *pItalic = _tcsrchr( tszPath, _T('\\') );        if ( pItalic == NULL )        {            return FALSE;        }        pItalic++;//指向斜杠后面一个字符        memset( pItalic, _T('\0'), _tcslen(pItalic)*sizeof(TCHAR) );        _tcscat( tszPath, filePath );    }        CComBSTR value(tszPath);    VARIANT str;    str.vt = VT_BSTR;    str.bstrVal = value;    hr = pEle->setAttribute( name, str,0 );    if ( FAILED(hr) )    {        return FALSE;    }    return TRUE;} 

热点排行