NOT PART OF BUILD. Fixed a memory leak. Added a stop button. Added code to update the URL field when a page is loaded

This commit is contained in:
locka%iol.ie 2000-06-21 13:30:31 +00:00
parent 7987d5a2ce
commit 82d98577c0
5 changed files with 54 additions and 17 deletions

View File

@ -95,6 +95,7 @@ BEGIN_MESSAGE_MAP(CBrowseDlg, CDialog)
ON_COMMAND(ID_EDIT_SELECTALL, OnEditSelectAll)
ON_COMMAND(ID_VIEW_REFRESH, OnViewRefresh)
ON_COMMAND(ID_VIEW_VIEWSOURCE, OnViewViewSource)
ON_BN_CLICKED(IDC_STOP, OnStop)
//}}AFX_MSG_MAP
ON_COMMAND(IDB_BOLD, OnEditBold)
ON_COMMAND(IDB_ITALIC, OnEditItalic)
@ -128,7 +129,6 @@ BOOL CBrowseDlg::OnInitDialog()
CRect rcTabMarker;
GetDlgItem(IDC_TAB_MARKER)->GetWindowRect(&rcTabMarker);
ScreenToClient(rcTabMarker);
// GetDlgItem(IDC_TAB_MARKER)->DestroyWindow();
m_dlgPropSheet.AddPage(&m_TabMessages);
m_dlgPropSheet.AddPage(&m_TabTests);
@ -408,6 +408,23 @@ void CBrowseDlg::PopulateTests()
}
}
void CBrowseDlg::UpdateURL()
{
CIPtr(IWebBrowser) spBrowser;
GetWebBrowser(&spBrowser);
if (spBrowser)
{
USES_CONVERSION;
BSTR szLocation = NULL;
spBrowser->get_LocationURL(&szLocation);
m_cmbURLs.SetWindowText(W2T(szLocation));
SysFreeString(szLocation);
}
}
HRESULT CBrowseDlg::GetWebBrowser(IWebBrowser **pWebBrowser)
{
if (pWebBrowser == NULL)
@ -424,11 +441,11 @@ HRESULT CBrowseDlg::GetWebBrowser(IWebBrowser **pWebBrowser)
if (pIUnkBrowser)
{
pIUnkBrowser->QueryInterface(IID_IWebBrowser, (void **) pWebBrowser);
pIUnkBrowser->Release();
if (*pWebBrowser)
{
return S_OK;
}
pIUnkBrowser->Release();
}
}
@ -444,18 +461,30 @@ void CBrowseDlg::OnGo()
{
CString szURL;
m_cmbURLs.GetWindowText(szURL);
// int nItem = m_cmbURLs.GetCurSel();
// CString szURL = (nItem == 0) ? m_szTestURL : aURLs[nItem - 1];
CComVariant vFlags(m_bNewWindow ? navOpenInNewWindow : 0);
BSTR bstrURL = szURL.AllocSysString();
pIWebBrowser->Navigate(bstrURL, &vFlags, NULL, NULL, NULL);
HRESULT hr = pIWebBrowser->Navigate(bstrURL, &vFlags, NULL, NULL, NULL);
if (FAILED(hr))
{
OutputString("Navigate failed (hr=0x%08x)", hr);
}
::SysFreeString(bstrURL);
pIWebBrowser->Release();
}
}
void CBrowseDlg::OnStop()
{
IWebBrowser *pIWebBrowser = NULL;
if (SUCCEEDED(GetWebBrowser(&pIWebBrowser)))
{
pIWebBrowser->Stop();
pIWebBrowser->Release();
}
}
void CBrowseDlg::OnBackward()
{
IWebBrowser *pIWebBrowser = NULL;

View File

@ -37,6 +37,7 @@ public:
TestResult RunTest(Test *pTest);
void UpdateTest(HTREEITEM hItem, TestResult nResult);
void UpdateTestSet(HTREEITEM hItem);
void UpdateURL();
void OutputString(const TCHAR *szMessage, ...);
void ExecOleCommand(const GUID *pguidGroup, DWORD nCmdId);
@ -97,6 +98,7 @@ protected:
afx_msg void OnEditSelectAll();
afx_msg void OnViewRefresh();
afx_msg void OnViewViewSource();
afx_msg void OnStop();
//}}AFX_MSG
afx_msg void OnEditBold();
afx_msg void OnEditItalic();

View File

@ -110,6 +110,10 @@ HRESULT STDMETHODCALLTYPE CControlEventSink:: Invoke(
break;
case 0x103:
szEvent = _T("DocumentComplete");
if (m_pBrowseDlg)
{
m_pBrowseDlg->UpdateURL();
}
break;
case 0xfd:
szEvent = _T("OnQuit");

View File

@ -104,19 +104,20 @@ EXSTYLE WS_EX_APPWINDOW
CAPTION "CBrowse"
FONT 8, "MS Sans Serif"
BEGIN
CONTROL "",IDC_TAB_MARKER,"Static",SS_BLACKFRAME,7,223,279,89
RTEXT "&URL:",IDC_STATIC,7,13,18,8
DEFPUSHBUTTON "&Go",IDC_GO,135,11,25,13
COMBOBOX IDC_URL,27,11,125,52,CBS_DROPDOWN | CBS_AUTOHSCROLL |
WS_VSCROLL | WS_TABSTOP
DEFPUSHBUTTON "&Go",IDC_GO,154,11,25,13
DEFPUSHBUTTON "&Stop",IDC_STOP,181,11,25,13
PUSHBUTTON "<",IDC_BACKWARD,208,11,10,13
PUSHBUTTON ">",IDC_FORWARD,220,11,10,13
CONTROL "&New window",IDC_NEWWINDOW,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,233,7,53,10
CONTROL "&Edit mode",IDC_EDITMODE,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,233,17,47,10
CONTROL "",IDC_TAB_MARKER,"Static",SS_BLACKFRAME,7,223,279,89
CONTROL "",IDC_BROWSER_MARKER,"Static",SS_BLACKFRAME,7,48,279,
168
COMBOBOX IDC_URL,27,11,106,52,CBS_DROPDOWN | CBS_AUTOHSCROLL |
WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "<",IDC_BACKWARD,163,11,14,13
PUSHBUTTON ">",IDC_FORWARD,179,11,14,13
CONTROL "&New window",IDC_NEWWINDOW,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,200,7,53,10
CONTROL "&Edit mode",IDC_EDITMODE,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,200,17,47,10
CONTROL "",IDC_EDITBAR_MARKER,"Static",SS_BLACKFRAME,7,28,279,19
END

View File

@ -25,6 +25,7 @@
#define IDC_GO 1001
#define IDC_BROWSER_MARKER 1002
#define IDC_LISTBROWSER 1003
#define IDC_STOP 1003
#define IDC_RUNTEST 1004
#define IDC_LISTMESSAGES 1005
#define IDC_TESTLIST 1006