1。使用绝对路径在资源里引入HTML网页和图片资源:
使用RES://应用程序名称/资源类型/#资源号,
例如:如果你的应用程序名为c.exe,html网页或资源保存在HTML类型下。并且查看资源标示号为133,便可以这样引用:res://c.exe/html/#133。或这样引用:res
://c:/c.exe/html/#133
2。使用相对路径引用:
如果使用方法1,总得去寻找应用程序名称,如果引入的是html中的图片,有诸多不便,譬如:应用程序如果改变了名称,那调用便会无效。为了防止这些纠葛,有一个非常好的办法就是:把所有使用的资源(图片,CSS,JS等),统统放到HTML资源类型下,引用的时候写成 res://#资源号就可以了。譬如上例便可以这样引用:res:/#133。当然好像res:/ 和res:// 是通用的。
3。FLASH控件的支持:
我没有在资源里引用flash成功,看了看flash的官方文档,好像必须为绝对路径才可以。例如movie=“d://flash//test.swf”是可以成功的。
4。不在资源里引用HTML,直接在本地文件里使用。可以在CDHtmlDialog的继承类里添加一个函数来处理。
Code highlighting produced by Actipro CodeHighlighter (freeware)
CodeHighlighter.com/
void CDHtmlViewSpec::GotoUrl(LPCTSTR pszUrl)
{
CString strPath,str;
DWORD dwSize=MAX_PATH;
::GetModuleFileName(NULL,strPath.GetBuffer(MAX_PATH),dwSize); //AfxGetResourceHandle()
strPath.ReleaseBuffer(dwSize);
str=strPath.Left(strPath.ReverseFind('//') 1);
ASSERT(pszUrl!=NULL);
if(pszUrl!=NULL)
{
CString strUrl;
strUrl=str pszUrl;
Navigate(_T("file:///") strUrl);
}
}
温馨提示:答案为网友推荐,仅供参考