2025-11-27 16:46:48 +09:00

231 lines
5.6 KiB
C++

// =============================================================================
// Class Implementation : COXWebCtrl
// =============================================================================
//
// Version: 9.3
// This software along with its related components, documentation and files ("The Libraries")
// is © 1994-2007 The Code Project (1612916 Ontario Limited) and use of The Libraries is
// governed by a software license agreement ("Agreement"). Copies of the Agreement are
// available at The Code Project (www.codeproject.com), as part of the package you downloaded
// to obtain this file, or directly from our office. For a copy of the license governing
// this software, you may contact us at legalaffairs@codeproject.com, or by calling 416-849-8900.
//
/////////////////////////////////////////////////////////////////////////////
#include "StdAfx.h"
#include "OXWebCtrl.h"
/////////////////////////////////////////////////////////////////////////////
// COXWebCtrl
IMPLEMENT_DYNCREATE(COXWebCtrl, CWnd)
/////////////////////////////////////////////////////////////////////////////
// COXWebCtrl properties
/////////////////////////////////////////////////////////////////////////////
// COXWebCtrl operations
void COXWebCtrl::GoBack()
{
InvokeHelper(0x64, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
void COXWebCtrl::GoForward()
{
InvokeHelper(0x65, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
void COXWebCtrl::GoHome()
{
InvokeHelper(0x66, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
void COXWebCtrl::GoSearch()
{
InvokeHelper(0x67, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
void COXWebCtrl::Navigate(LPCTSTR pcszURL, long lFlags, LPCTSTR pcszTargetFrameName,
VARIANT* PostData, VARIANT* Headers)
{
static BYTE parms[] = VTS_BSTR VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT;
VARIANT Flags, TargetFrameName;
Flags.vt = VT_I4;
Flags.lVal = lFlags;
if (pcszTargetFrameName != NULL)
{
CString str(pcszTargetFrameName);
TargetFrameName.vt = VT_BSTR;
TargetFrameName.bstrVal = str.AllocSysString();
}
else
{
TargetFrameName.vt = VT_EMPTY;
}
InvokeHelper(0x68, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
pcszURL, &Flags, &TargetFrameName, PostData, Headers);
if (TargetFrameName.vt != VT_EMPTY)
SysFreeString(TargetFrameName.bstrVal);
}
void COXWebCtrl::Refresh()
{
InvokeHelper(DISPID_REFRESH, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
void COXWebCtrl::Refresh2(long lLevel)
{
static BYTE parms[] = VTS_PVARIANT;
VARIANT Level;
Level.vt = VT_I4;
Level.lVal = lLevel;
InvokeHelper(0x69, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Level);
}
void COXWebCtrl::Stop()
{
InvokeHelper(0x6a, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
LPDISPATCH COXWebCtrl::GetApplication()
{
LPDISPATCH result;
InvokeHelper(0xc8, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
return result;
}
LPDISPATCH COXWebCtrl::GetParent()
{
LPDISPATCH result;
InvokeHelper(0xc9, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
return result;
}
LPDISPATCH COXWebCtrl::GetContainer()
{
LPDISPATCH result;
InvokeHelper(0xca, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
return result;
}
LPDISPATCH COXWebCtrl::GetDocument()
{
LPDISPATCH result;
InvokeHelper(0xcb, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
return result;
}
BOOL COXWebCtrl::GetTopLevelContainer()
{
BOOL result;
InvokeHelper(0xcc, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
return result;
}
CString COXWebCtrl::GetType()
{
CString result;
InvokeHelper(0xcd, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
return result;
}
long COXWebCtrl::GetLeft()
{
long result;
InvokeHelper(0xce, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void COXWebCtrl::SetLeft(long nNewValue)
{
static BYTE parms[] =
VTS_I4;
InvokeHelper(0xce, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
long COXWebCtrl::GetTop()
{
long result;
InvokeHelper(0xcf, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void COXWebCtrl::SetTop(long nNewValue)
{
static BYTE parms[] =
VTS_I4;
InvokeHelper(0xcf, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
long COXWebCtrl::GetWidth()
{
long result;
InvokeHelper(0xd0, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void COXWebCtrl::SetWidth(long nNewValue)
{
static BYTE parms[] =
VTS_I4;
InvokeHelper(0xd0, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
long COXWebCtrl::GetHeight()
{
long result;
InvokeHelper(0xd1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void COXWebCtrl::SetHeight(long nNewValue)
{
static BYTE parms[] =
VTS_I4;
InvokeHelper(0xd1, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
nNewValue);
}
CString COXWebCtrl::GetLocationName()
{
CString result;
InvokeHelper(0xd2, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
return result;
}
CString COXWebCtrl::GetLocationURL()
{
CString result;
InvokeHelper(0xd3, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
return result;
}
BOOL COXWebCtrl::GetBusy()
{
BOOL result;
InvokeHelper(0xd4, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
return result;
}
void COXWebCtrl::Print(DWORD dwOptions)
{
IOleCommandTarget* pOLECmdTarget=NULL;
LPDISPATCH pDispatch = GetDocument();
if(pDispatch!=NULL)
{
HRESULT hr = pDispatch->QueryInterface(IID_IOleCommandTarget,
(void**)&pOLECmdTarget);
ASSERT(hr==S_OK && pOLECmdTarget!=NULL);
pOLECmdTarget->Exec(NULL, OLECMDID_PRINT, dwOptions, NULL, NULL);
pOLECmdTarget->Release();
pDispatch->Release();
}
}