请问用向导生成一个mdi的基于htmlview类的浏览器用里面的打开命令打开一个网页文件的时候为什么不能正确显示?

haifeng_su 2003-08-26 06:49:41
如题,小弟想做个浏览器,mdi的,可是向导生成的菜单里有打开命令,当选择一个html文件的时候为什么不能打开网页内容?如果编程如何做?请指点,谢谢。
...全文
25 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bager 2003-08-26
  • 打赏
  • 举报
回复
这样试一下:
1、向CXXXApp类中添加成员变量,在构造函数对变量m_strURL初始化,可以设为某个HTML文件的全路径名或者为URL名称。
  public:
CString m_strURL;

2、对ID_FILE_OPEN添加消息响应函数,在你的CXXXApp类中实现,如下:
void CCMDIDemoHtmlViewApp::OnFileOpen()
{
static char BASED_CODE szFilter[] = "Htm Files (*.htm)|*.htm|Html Files (*.html)|*.html||";

CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);

int iRet=dlg.DoModal();
if(iRet==IDOK)
{
m_strURL = dlg.GetPathName();

POSITION curTemplatePos = GetFirstDocTemplatePosition();

CDocTemplate* curTemplate = GetNextDocTemplate(curTemplatePos);
curTemplate->OpenDocumentFile(NULL);
}
else
{
}

}

3、修改你的CXXXView类的OnInitialUpdate函数,别忘记了添加扩展引用theApp的声明
extern CCMDIDemoHtmlViewApp theApp;
void CCMDIDemoHtmlViewView::OnInitialUpdate()
{
CHtmlView::OnInitialUpdate();

// TODO: This code navigates to a popular spot on the web.
// change the code to go where you'd like.
Navigate2(theApp.m_strURL,NULL,NULL);
}
可以了。
kingzai 2003-08-26
  • 打赏
  • 举报
回复
your view should overide from CHtmlView,then call
CHtmlView::GetHtmlDocument
such as
MSHTML::IHTMLDocument2Ptr ptrDoc;
CSourceDialog *dlg;
ptrDoc = GetActiveIEView()->GetHtmlDocument();
dlg = new CSourceDialog;
dlg->Create(IDD_SOURCE);
dlg->ShowSource(ptrDoc);
dlg->ShowWindow(SW_SHOW);

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧