⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ie6mdiview.cpp

📁 VC++实现的多页面浏览器....实现了多种功能
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		}

	}
	else {
		m_iActivated = 0;
	}
	

	CView::OnActivateView(bActivate, pActivateView, pDeactiveView);
}



/*
*******************************************************************************/
// FUNCTION : void  CIE6mdiView::OnDestroy()
//
// PURPOSE	 : we are clean, the view remove its URL from the list, only if the
//		list is not empty (it's the case if we call OnKillAll !)
//
// PARAMETERS : none
//
// RETURN VALUE : void 
//
//
// COMMENTS : 
//
//
/*******************************************************************************
*/
void CIE6mdiView::OnDestroy() 
{
	// anyway, when we are here, the window is activated
	CMDIChildWnd* m_pChild=((CMDIChildWnd*)GetParentFrame());
	CMainFrame* m_pFrame = ((CMainFrame*)(m_pChild->GetMDIFrame()));
	m_pFrame->StopAnimation();
	
	// remove the current URL to the list of URL's
	if (m_iNoPosition == 1) {
		// first call !
		//we do nothing !
	}
	else {
		CString s("");
		if (!m_pFrame->m_lUrl.IsEmpty())
			m_pFrame->m_lUrl.SetAt(m_pos, s); // "" means no URL !
	}
	
	CView::OnDestroy();
}


/*
*******************************************************************************/
// FUNCTION : void  CIE6mdiView::OnKillAll()
//
// PURPOSE	 : close all the views. Empty the URL list
//
// PARAMETERS : none
//
// RETURN VALUE : void 
//
//
// COMMENTS : 
//
//
/*******************************************************************************
*/
void CIE6mdiView::OnKillAll() 
{
	CMDIChildWnd* m_pChild=((CMDIChildWnd*)GetParentFrame());
	CMainFrame* m_pFrame = ((CMainFrame*)(m_pChild->GetMDIFrame()));

	m_pFrame->m_lUrl.RemoveAll();
	CDocTemplate * t;
	t= this->GetDocument()->GetDocTemplate();
	t->CloseAllDocuments(TRUE);
}



/*
*******************************************************************************/
// FUNCTION : void  CIE6mdiView::OnNewWindow2(,BOOL*)
//
// PURPOSE	 : called when a new window will be opened
//
// PARAMETERS : 
//		ppDisp		- 
//		Cancel		- 
//
// RETURN VALUE : void 
//
//
// COMMENTS : 
//
//
/*******************************************************************************
*/
void CIE6mdiView::OnNewWindow2( LPDISPATCH* ppDisp, BOOL* Cancel )
{
	// check if we have to popup the window or if the user does NOT want
	if (m_iPopupWindow == 1) {
		*Cancel = TRUE;
		this->SetSilent(TRUE); // else error from javascript
		SetTimer(ID_TIMER_SILENT,1000,NULL); // just to re-enable Silent(FALSE);
	}
	else {
		// create the new window
		AfxGetApp()->m_pMainWnd->SendMessage(WM_COMMAND,(WPARAM)ID_FILE_NEW,(LPARAM)NULL);
		CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;;
		CMDIChildWnd *pChild;
		CIE6mdiView *pView;	
		pChild = (CMDIChildWnd *) pFrame->GetActiveFrame();
		pView = (CIE6mdiView *) pChild->GetActiveView();
		*ppDisp = pView->GetApplication();
	}

}

void CIE6mdiView::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
}


/*
*******************************************************************************/
// FUNCTION : void  CIE6mdiView::OnTimer(UINT)
//
// PURPOSE	 : used to set Silent to FALSE again after a OnNewWindow2
//
// PARAMETERS : 
//		nIDEvent - 
//
// RETURN VALUE : void 
//
//
// COMMENTS : 
//
//
/*******************************************************************************
*/
void CIE6mdiView::OnTimer(UINT nIDEvent) 
{
	switch (nIDEvent) {
	case ID_TIMER_SILENT:
		this->SetSilent(FALSE);
		KillTimer(ID_TIMER_SILENT);
		break;
	default:
		CView::OnTimer(nIDEvent);
	}
}




/*
*******************************************************************************/
// FUNCTION : void  CIE6mdiView::OnEditCopy()
//
// PURPOSE	 : 
//
// PARAMETERS : none
//
// RETURN VALUE : void 
//
//
// COMMENTS : 
//
//
/*******************************************************************************
*/
void CIE6mdiView::OnEditCopy() 
{
	ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DONTPROMPTUSER, NULL, NULL); 
}



/*
*******************************************************************************/
// FUNCTION : void  CIE6mdiView::OnEditPaste()
//
// PURPOSE	 : 
//
// PARAMETERS : none
//
// RETURN VALUE : void 
//
//
// COMMENTS : 
//
//
/*******************************************************************************
*/
void CIE6mdiView::OnEditPaste() 
{
	ExecWB(OLECMDID_CUT, OLECMDEXECOPT_DONTPROMPTUSER, NULL, NULL); 
}


/*
*******************************************************************************/
// FUNCTION : void  CIE6mdiView::OnEditSelectall()
//
// PURPOSE	 : 
//
// PARAMETERS : none
//
// RETURN VALUE : void 
//
//
// COMMENTS : 
//
//
/*******************************************************************************
*/
void CIE6mdiView::OnEditSelectall() 
{
	ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_DONTPROMPTUSER, NULL, NULL); 	
}



/*
*******************************************************************************/
// FUNCTION : void  CIE6mdiView::OnWindowNopopupwindow()
//
// PURPOSE	 : 
//
// PARAMETERS : none
//
// RETURN VALUE : void 
//
//
// COMMENTS : 
//
//
/*******************************************************************************
*/
void CIE6mdiView::OnWindowNopopupwindow()
{
	CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;

	if (m_iPopupWindow == 1) {
		pFrame->m_wndToolBar.SetButtonInfo(8, ID_POPUP_WINDOW, TBSTYLE_BUTTON, 13);
		AfxGetApp()->WriteProfileInt("Settings","NoPopupWindow",0);
		m_iPopupWindow = 0;
	}
	else {
		pFrame->m_wndToolBar.SetButtonInfo(8, ID_POPUP_WINDOW_OFF, TBSTYLE_BUTTON, 14);
		AfxGetApp()->WriteProfileInt("Settings","NoPopupWindow",1);
		m_iPopupWindow = 1;
	}
}


/*
*******************************************************************************/
// FUNCTION : void  CIE6mdiView::SetPopupType(int)
//
// PURPOSE	 : 
//
// PARAMETERS : 
//		p		- 
//
// RETURN VALUE : void 
//
//
// COMMENTS : 
//
//
/*******************************************************************************
*/
void CIE6mdiView::SetPopupType(int p)
{
	CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;
	if (p == 1) {
		pFrame->m_wndToolBar.SetButtonInfo(8, ID_POPUP_WINDOW_OFF, TBSTYLE_BUTTON, 14);
		AfxGetApp()->WriteProfileInt("Settings","NoPopupWindow",1);
		m_iPopupWindow = 1;
	}
	else {
		pFrame->m_wndToolBar.SetButtonInfo(8, ID_POPUP_WINDOW, TBSTYLE_BUTTON, 13);
		AfxGetApp()->WriteProfileInt("Settings","NoPopupWindow",0);
		m_iPopupWindow = 0;
	}
}



/*
*******************************************************************************/
// FUNCTION : void  CIE6mdiView::OnPrint()
//
// PURPOSE	 : 
//
// PARAMETERS : none
//
// RETURN VALUE : void 
//
//
// COMMENTS : 
//
//
/*******************************************************************************
*/
void CIE6mdiView::OnPrint()
{
	LPOLECOMMANDTARGET pCmdTarg = NULL; 

	LPDISPATCH  m_pDisp = this->GetHtmlDocument(); //get the IDispatch interface pointer
	ASSERT(m_pDisp);
	m_pDisp->QueryInterface(IID_IOleCommandTarget, (LPVOID*)&pCmdTarg); //query for olecommandtarget interface
	ASSERT(pCmdTarg);
	pCmdTarg->Exec(NULL, //call the olecommandtarget's Exec method		
		OLECMDID_PRINT,
		0,		
		NULL,		
		NULL	);	
	if (pCmdTarg) 
		pCmdTarg->Release(); // release document's command target	
	if (m_pDisp) 
		m_pDisp->Release(); // release document's dispatch interfac
}


// these functions control the font size.  There is no explicit command in the
// CHtmlView class to do this, but we can do it by using the ExecWB() function.
void CIE6mdiView::OnViewFontsLargest()
{
	COleVariant vaZoomFactor(4l);

	ExecWB(OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER,
		   &vaZoomFactor, NULL);
}

void CIE6mdiView::OnViewFontsLarge()
{
	COleVariant vaZoomFactor(3l);

	ExecWB(OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER,
		   &vaZoomFactor, NULL);
}

void CIE6mdiView::OnViewFontsMedium()
{
	COleVariant vaZoomFactor(2l);

	ExecWB(OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER,
		   &vaZoomFactor, NULL);
}

void CIE6mdiView::OnViewFontsSmall()
{
	COleVariant vaZoomFactor(1l);

	ExecWB(OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER,
		   &vaZoomFactor, NULL);
}

void CIE6mdiView::OnViewFontsSmallest()
{
	COleVariant vaZoomFactor(0l);

	ExecWB(OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER,
		   &vaZoomFactor, NULL);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -