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

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

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,失败返回FALSE

BOOL 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;

}

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航