NOT PART OF BUILD. CBrowse harness now listens for TitleChange events from controls and sets the window title accordingly

This commit is contained in:
locka%iol.ie 2001-06-08 12:06:39 +00:00
Родитель 8638ac5f8b
Коммит 722f71768f
1 изменённых файлов: 108 добавлений и 101 удалений

Просмотреть файл

@ -9,7 +9,7 @@
HRESULT STDMETHODCALLTYPE CControlEventSink::GetTypeInfoCount(
/* [out] */ UINT __RPC_FAR *pctinfo)
{
return E_NOTIMPL;
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CControlEventSink::GetTypeInfo(
@ -17,7 +17,7 @@ HRESULT STDMETHODCALLTYPE CControlEventSink::GetTypeInfo(
/* [in] */ LCID lcid,
/* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo)
{
return E_NOTIMPL;
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CControlEventSink::GetIDsOfNames(
@ -27,7 +27,7 @@ HRESULT STDMETHODCALLTYPE CControlEventSink::GetIDsOfNames(
/* [in] */ LCID lcid,
/* [size_is][out] */ DISPID __RPC_FAR *rgDispId)
{
return E_NOTIMPL;
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CControlEventSink:: Invoke(
@ -40,109 +40,116 @@ HRESULT STDMETHODCALLTYPE CControlEventSink:: Invoke(
/* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
/* [out] */ UINT __RPC_FAR *puArgErr)
{
CString szEvent;
CString szEvent;
switch (dispIdMember)
{
case 0x66:
{
USES_CONVERSION;
CString szText(OLE2T(pDispParams->rgvarg[0].bstrVal));
szEvent.Format(_T("StatusTextChange: \"%s\""), szText);
m_pBrowseDlg->m_TabMessages.m_szStatus = szText;
m_pBrowseDlg->m_TabMessages.UpdateData(FALSE);
}
break;
case 0x6c:
{
LONG nProgress = pDispParams->rgvarg[1].lVal;
LONG nProgressMax = pDispParams->rgvarg[0].lVal;
szEvent.Format("ProgressChange(%d of %d)", nProgress, nProgressMax);
CProgressCtrl &pc = m_pBrowseDlg->m_TabMessages.m_pcProgress;
pc.SetRange(0, nProgressMax);
pc.SetPos(nProgress);
}
break;
case 0x69:
szEvent = _T("CommandStateChange");
break;
case 0x6a:
szEvent = _T("DownloadBegin");
break;
case 0x68:
szEvent = _T("DownloadComplete");
break;
case 0x71:
szEvent = _T("TitleChange");
break;
case 0x70:
szEvent = _T("PropertyChange");
break;
case 0xfa:
{
szEvent = _T("BeforeNavigate2");
}
break;
case 0xfb:
{
szEvent = _T("NewWindow2");
VARIANTARG *pvars = pDispParams->rgvarg;
CBrowseDlg *pDlg = new CBrowseDlg;
if (pDlg)
{
pDlg->m_clsid = m_pBrowseDlg->m_clsid;
pDlg->Create(IDD_CBROWSE_DIALOG);
if (pDlg->m_pControlSite)
{
CIUnkPtr spUnkBrowser;
pDlg->m_pControlSite->GetControlUnknown(&spUnkBrowser);
switch (dispIdMember)
{
case 0x66:
{
USES_CONVERSION;
CString szText(OLE2T(pDispParams->rgvarg[0].bstrVal));
szEvent.Format(_T("StatusTextChange: \"%s\""), szText);
m_pBrowseDlg->m_TabMessages.m_szStatus = szText;
m_pBrowseDlg->m_TabMessages.UpdateData(FALSE);
}
break;
case 0x6c:
{
LONG nProgress = pDispParams->rgvarg[1].lVal;
LONG nProgressMax = pDispParams->rgvarg[0].lVal;
szEvent.Format("ProgressChange(%d of %d)", nProgress, nProgressMax);
CProgressCtrl &pc = m_pBrowseDlg->m_TabMessages.m_pcProgress;
pc.SetRange(0, nProgressMax);
pc.SetPos(nProgress);
}
break;
case 0x69:
szEvent = _T("CommandStateChange");
break;
case 0x6a:
szEvent = _T("DownloadBegin");
break;
case 0x68:
szEvent = _T("DownloadComplete");
break;
case 0x71:
{
USES_CONVERSION;
CString szText(OLE2T(pDispParams->rgvarg[0].bstrVal));
szEvent.Format(_T("TitleChange: \"%s\""), szText);
CString szTitle;
szTitle.Format(_T("CBrowse - %s"), szText);
m_pBrowseDlg->SetWindowText(szTitle);
}
break;
case 0x70:
szEvent = _T("PropertyChange");
break;
case 0xfa:
{
szEvent = _T("BeforeNavigate2");
}
break;
case 0xfb:
{
szEvent = _T("NewWindow2");
VARIANTARG *pvars = pDispParams->rgvarg;
CBrowseDlg *pDlg = new CBrowseDlg;
if (pDlg)
{
pDlg->m_clsid = m_pBrowseDlg->m_clsid;
pDlg->Create(IDD_CBROWSE_DIALOG);
if (pDlg->m_pControlSite)
{
CIUnkPtr spUnkBrowser;
pDlg->m_pControlSite->GetControlUnknown(&spUnkBrowser);
pvars[0].byref = (void *) VARIANT_FALSE;
spUnkBrowser->QueryInterface(IID_IDispatch, (void **) pvars[1].byref);
}
}
}
break;
case 0xfc:
szEvent = _T("NavigateComplete2");
break;
case 0x103:
szEvent = _T("DocumentComplete");
pvars[0].byref = (void *) VARIANT_FALSE;
spUnkBrowser->QueryInterface(IID_IDispatch, (void **) pvars[1].byref);
}
}
}
break;
case 0xfc:
szEvent = _T("NavigateComplete2");
break;
case 0x103:
szEvent = _T("DocumentComplete");
if (m_pBrowseDlg)
{
m_pBrowseDlg->UpdateURL();
}
break;
case 0xfd:
szEvent = _T("OnQuit");
break;
case 0xfe:
szEvent = _T("OnVisible");
break;
case 0xff:
szEvent = _T("OnToolBar");
break;
case 0x100:
szEvent = _T("OnMenuBar");
break;
case 0x101:
szEvent = _T("OnStatusBar");
break;
case 0x102:
szEvent = _T("OnFullScreen");
break;
case 0x104:
szEvent = _T("OnTheaterMode");
break;
default:
szEvent.Format(_T("%d"), dispIdMember);
}
break;
case 0xfd:
szEvent = _T("OnQuit");
break;
case 0xfe:
szEvent = _T("OnVisible");
break;
case 0xff:
szEvent = _T("OnToolBar");
break;
case 0x100:
szEvent = _T("OnMenuBar");
break;
case 0x101:
szEvent = _T("OnStatusBar");
break;
case 0x102:
szEvent = _T("OnFullScreen");
break;
case 0x104:
szEvent = _T("OnTheaterMode");
break;
default:
szEvent.Format(_T("%d"), dispIdMember);
}
if (m_pBrowseDlg)
{
m_pBrowseDlg->OutputString(_T("Event %s"), szEvent);
}
return S_OK;
if (m_pBrowseDlg)
{
m_pBrowseDlg->OutputString(_T("Event %s"), szEvent);
}
return S_OK;
}