我建立了一个继承与CHttpView视图的当文档程序
然后插入了一个对话框,对话框里设置了编辑框控件并且关联变量m_address ,当我点击OnButton32772() 按钮的响应函数之后,弹出对话框输入网址并且跳转到制定网页!
void CHtmlApp::OnButton32772() 
{
// TODO: Add your command handler code here
address dlg;
if(IDOK==dlg.DoModal())
{
m_straddrss=dlg.m_address;
CSingleDocTemplate* pDocTemplate;
POSITION pos=GetFirstDocTemplatePosition();
pDocTemplate=(CSingleDocTemplate*)GetNextDocTemplate(pos);
POSITION pos1=pDocTemplate->GetFirstDocPosition();
CHtmlDoc *pDoc=(CHtmlDoc*)pDocTemplate->GetNextDoc(pos1);
pos=pDoc->GetFirstViewPosition();
CMyHtmlView *view;
view=(CMyHtmlView*)pDoc->GetNextView(pos);
view->Nav();
pDoc->UpdateAllViews(NULL,0L,NULL);
}
}
void CMyHtmlView::Nav()
{
if(((CHtmlApp*)AfxGetApp())->m_straddrss=="")
{
Navigate2(_T("http://www.163.com"),NULL,NULL);
}
else
{
Navigate2(((CHtmlApp*)AfxGetApp())->m_straddrss,NULL,NULL);
}
}
void CMyHtmlView::OnInitialUpdate()
{
CHtmlView::OnInitialUpdate(); // TODO: This code navigates to a popular spot on the web.
//  change the code to go where you'd like.
if(((CHtmlApp *)AfxGetApp())->m_straddrss==""){
Navigate2(_T("http://www.163.com"),NULL,NULL);
}
else
{
    Navigate2(((CHtmlApp*)AfxGetApp())->m_straddrss,NULL,NULL);
}
}
这就是所有改动过的代码 谁能帮吗加上注释啊,这些有点看不懂尤其是
OnButton32772() 里面的,主要是不知道这么调用有什么用,讲讲最好了!
感激不尽!!!!!!!!!!!!!!!!!!!!!!!1

解决方案 »

  1.   

    void CHtmlApp::OnButton32772()
    {
    // TODO: Add your command handler code here
    address dlg;//声明一个对话框对象
    if(IDOK==dlg.DoModal())//弹出该对话框
    {
    m_straddrss=dlg.m_address;// 把弹出对户框上在编辑框中输入的地址赋值给m_straddrss// 以下就是在CMyHtmlView类中打开你指定网址的web了。其中CMyHtmlView中主要的一个函数Navigate2就是用来打开网站的。
    CSingleDocTemplate* pDocTemplate;
    POSITION pos=GetFirstDocTemplatePosition();
    pDocTemplate=(CSingleDocTemplate*)GetNextDocTemplate(pos);
    POSITION pos1=pDocTemplate->GetFirstDocPosition();
    CHtmlDoc *pDoc=(CHtmlDoc*)pDocTemplate->GetNextDoc(pos1);
    pos=pDoc->GetFirstViewPosition();
    CMyHtmlView *view;
    view=(CMyHtmlView*)pDoc->GetNextView(pos);
    view->Nav();
    pDoc->UpdateAllViews(NULL,0L,NULL);
    }
      

  2.   

    CSingleDocTemplate* pDocTemplate; 
    POSITION pos=GetFirstDocTemplatePosition(); 
    pDocTemplate=(CSingleDocTemplate*)GetNextDocTemplate(pos); 
    POSITION pos1=pDocTemplate->GetFirstDocPosition(); 
    CHtmlDoc *pDoc=(CHtmlDoc*)pDocTemplate->GetNextDoc(pos1); 
    pos=pDoc->GetFirstViewPosition(); 
    CMyHtmlView *view; 
    view=(CMyHtmlView*)pDoc->GetNextView(pos); 
    view->Nav(); 
    pDoc->UpdateAllViews(NULL,0L,NULL); 
    主要是这一段
      

  3.   


    //声明一个文档模板指针
    CSingleDocTemplate* pDocTemplate; //获取程序里的文档模板对象
    POSITION pos=GetFirstDocTemplatePosition(); 
    pDocTemplate=(CSingleDocTemplate*)GetNextDocTemplate(pos); //通过前面获取的文档模板pDocTemplate得到程序的文档对象,也就是CMyHtmlView所用的文档
    POSITION pos1=pDocTemplate->GetFirstDocPosition(); 
    CHtmlDoc *pDoc=(CHtmlDoc*)pDocTemplate->GetNextDoc(pos1); //通过前面获取的文档pDoc得到显示网页的视图对象
    pos=pDoc->GetFirstViewPosition(); 
    CMyHtmlView *view; 
    view=(CMyHtmlView*)pDoc->GetNextView(pos);//指定显示的网页网址
    view->Nav();//刷新视图,显示网页
    pDoc->UpdateAllViews(NULL,0L,NULL);