CWebBrowser2.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:2k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // CWebBrowser2.h  : Declaration of ActiveX Control wrapper class(es) created by Microsoft Visual C++
  2. #pragma once
  3. /////////////////////////////////////////////////////////////////////////////
  4. // CWebBrowser2
  5. #include <MsHtmHst.h>
  6. class CWebBrowserCtrl : public CWnd
  7. {
  8. protected:
  9. DECLARE_DYNCREATE(CWebBrowserCtrl)
  10. public:
  11. CLSID const& GetClsid()
  12. {
  13. static CLSID const clsid
  14. = { 0x8856F961, 0x340A, 0x11D0, { 0xA9, 0x6B, 0x0, 0xC0, 0x4F, 0xD7, 0x5, 0xA2 } };
  15. return clsid;
  16. }
  17.     BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, 
  18. UINT nID, CFile* pPersist = NULL, BOOL bStorage = FALSE,
  19. BSTR bstrLicKey = NULL)
  20. if (!CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
  21. pPersist, bStorage, bstrLicKey))
  22. return FALSE;
  23. EnableAutomation();
  24. return TRUE;
  25. }
  26. // Attributes
  27. public:
  28. // Operations
  29. public:
  30. LPDISPATCH get_Application()
  31. {
  32. LPDISPATCH result;
  33. InvokeHelper(0xc8, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
  34. return result;
  35. }
  36. void Navigate2(VARIANT * URL, VARIANT * Flags, VARIANT * TargetFrameName, VARIANT * PostData, VARIANT * Headers)
  37. {
  38. static BYTE parms[] = VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT ;
  39. InvokeHelper(0x1f4, DISPATCH_METHOD, VT_EMPTY, NULL, parms, URL, Flags, TargetFrameName, PostData, Headers);
  40. }
  41. void Navigate2(LPCTSTR lpszURL, DWORD dwFlags  = 0 ,
  42. LPCTSTR lpszTargetFrameName = NULL,
  43. LPCTSTR lpszHeaders = NULL ,
  44. LPVOID lpvPostData = NULL , DWORD dwPostDataLen = 0)
  45. {
  46. COleSafeArray vPostData;
  47. if (lpvPostData != NULL)
  48. {
  49. if (dwPostDataLen == 0)
  50. dwPostDataLen = lstrlen((LPCTSTR) lpvPostData);
  51. vPostData.CreateOneDim(VT_UI1, dwPostDataLen, lpvPostData);
  52. }
  53. COleVariant vURL(lpszURL, VT_BSTR);
  54. COleVariant vHeaders(lpszHeaders, VT_BSTR);
  55. COleVariant vTargetFrameName(lpszTargetFrameName, VT_BSTR);
  56. COleVariant vFlags((long) dwFlags, VT_I4);
  57. Navigate2(vURL,
  58. vFlags, vTargetFrameName, vPostData, vHeaders);
  59. }
  60. };