WEB开发网
开发学院软件开发VC 在VC对话框中用ChtmlView控件显示HTML 阅读

在VC对话框中用ChtmlView控件显示HTML

 2009-05-22 20:05:54 来源:WEB开发网   
核心提示: <A href="ok"><IMG ...></A>当用户单击它时,浏览器显示这个"OK"文件,在VC对话框中用ChtmlView控件显示HTML(4),但是在显示之前,控制先执行CHtmlView::OnBefo

<A href="ok"><IMG ...></A>

当用户单击它时,浏览器显示这个"OK"文件,但是在显示之前,控制先执行CHtmlView::OnBeforeNavigate2()函数,为此可以定义CHtmlCtrl类的子类CMyHtmlCtrl,重载这个函数,在这里面实现想做的任何事情。下面的代码实现了当用户点击HTML文件上的"OK"图片时,关闭对话框。

void CHtmlCtrl::OnBeforeNavigate2(
  LPCTSTR lpszURL,
  ...,
  BOOL* pbCancel)
  {
  if (_tcscmp(lpszURL,_T("ok"))==0)
  {
  // "ok" clicked:
  *pbCancel=TRUE; // abort
  GetParent()->SendMessage(WM_COMMAND,IDOK); // will close dialog
  }
  }

其实"OK"并不是什么文件;它只是一个很特殊的名字,可以定义一个CHtmlCtrl类的子类CMyHtmlCtrl,该类将"OK"图片看作是"OK"按钮。为了实现这个想法,程序中创建了一个叫app:的冒充协议来代替"OK",在about.htm中定义实际的链接是app:ok。每当浏览器导航到app:somewhere的时候,CMyHtmlCtrl都以"somewhere"为参数调用一个虚函数:CMyHtmlCtrl::OnAppCmd。

void CMyHtmlCtrl::OnAppCmd( LPCTSTR lpszWhere )
  {
  if (_tcsicmp(lpszWhere, _T("ok"))==0)
  {
  GetParent()->SendMessage(WM_COMMAND,IDOK);
  }
  }

二、编程步骤

1、启动Visual C++6.0,生成一个单文档的应用程序,命名为"ShowHtml";

上一页  1 2 3 4 5  下一页

Tags:VC 对话框 中用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接