VC++ 程 序 中 用 对 话 框 的 形 式 显 示HTML 文 件

VC++ 程 序 中 用 对 话 框 的 形 式 显 示HTML 文 件

zhou daibing
---- 在 安 装 了IE 4 后, 可 以 在 程 序 中 用 对 话 框 的 形 式 显 示HTML 文 件, 如 弹 出 用HTML 写 的 帮 助 文 件 等 等, 如 同 直 接 用 浏 览 器, 但 又 与 浏 览 器 风 格 不 同。

---- 其 实 现 如 下:

//在头文件或.cpp文件的开头包含文件urlmon.h,定义函数/////#include "urlmon.h"typedef HRESULT STDAPICALLTYPE SHOWHTMLDIALOGFN (HWND hwndParent, IMoniker*pmk, VARIANT *pvarArgIn, TCHAR* pchOptions,   VARIANT *pvArgOut);////////函数显示对话框,成功返回TRUE,失败返回FALSEBOOL ShowHtml(){HINSTANCE  hinstMSHTML = LoadLibrary   (TEXT("MSHTML.DLL")); //装载动态连接库WCHAR url[]=L"HTTP://www.ccw.com.cn"; //此地址名称可直接用html文件名代替  if(hinstMSHTML)//装载动态连接库成功  {     SHOWHTMLDIALOGFN *pfnShowHTMLDialog;     pfnShowHTMLDialog = (SHOWHTMLDIALOGFN*)   GetProcAddress(hinstMSHTML,TEXT  ("ShowHTMLDialog"));     if(pfnShowHTMLDialog)     {     IMoniker *moniker=NULL;        //     if( FAILED(CreateURLMoniker(NULL,     (LPWSTR)url,&moniker ) ))     {        FreeLibrary(hinstMSHTML);       return FALSE;      }        //调用ShowHTMLDialog函数显示URL上的HTML文件      pfnShowHTMLDialog(m_hWnd,moniker,NULL,NULL,NULL);      if(moniker!=NULL)          moniker->Release();      //显示成功,返回TRUE       return TRUE;     }     else //GetProcessAddress失败      return FALSE;   FreeLibrary(hinstMSHTML);  }  else //装载动态连接库失败   return FALSE;}

 

中国计算机世界出版服务公司版权所有



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=3401


你可能感兴趣的:(html)