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

📄 mainfrm.cpp.svn-base

📁 股票软件源码
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
{
	pCmdUI->SetCheck(m_wndMainBar.IsTextLabelVisible());
}

void CMainFrame::OnViewFullscreen() 
{
	int nHeight	=	0;	//GetSystemMetrics(SM_CYMENU);
	if (m_fullScreen.bFullScreen)
	{
		m_fullScreen.bFullScreen	=	FALSE;

		if (m_fullScreen.bMaximized)
		{
			MoveWindow(	-GetSystemMetrics(SM_CXFRAME),
						-GetSystemMetrics(SM_CYFRAME)-nHeight,
						GetSystemMetrics(SM_CXSCREEN) + 2*GetSystemMetrics(SM_CXFRAME),
						GetSystemMetrics(SM_CYSCREEN) + 2*GetSystemMetrics(SM_CYFRAME) + nHeight);
		}
		else
			SendMessage(WM_SYSCOMMAND, SC_RESTORE);

		if (m_fullScreen.bMainBar && !m_wndMainBar.IsWindowVisible())
			OnBarCheck(IDW_MAINBAR);
		if (m_fullScreen.bSListBar && !m_wndSListBar.IsWindowVisible())
			OnBarCheck(IDW_SLISTBAR);
		if (m_fullScreen.bSimuBar && !m_wndSimuBar.IsWindowVisible())
			OnBarCheck(IDW_SIMUBAR);
		if (m_fullScreen.bStatusBar && !m_wndStatusBar.IsWindowVisible())
			OnBarCheck(AFX_IDW_STATUS_BAR);
		if (m_fullScreen.bWorkspBar && !m_wndWorkspBar.IsWindowVisible())
			OnToggleWorkspBar();

		memset(&m_fullScreen, 0, sizeof(m_fullScreen));
	}
	else
	{
		m_fullScreen.bFullScreen	=	TRUE;
		m_fullScreen.bMaximized	=	IsZoomed();

		if (m_wndStatusBar.IsWindowVisible())
		{
			m_fullScreen.bStatusBar = 1;
			OnBarCheck(AFX_IDW_STATUS_BAR);
		}
		if (m_wndWorkspBar.IsWindowVisible())
		{
			m_fullScreen.bWorkspBar = 1;
			OnToggleWorkspBar();
		}

		if (!m_fullScreen.bMaximized)
			SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE);
		else
			MoveWindow(	-GetSystemMetrics(SM_CXFRAME),
						-GetSystemMetrics(SM_CYFRAME)	- GetSystemMetrics(SM_CYCAPTION) - nHeight,
						GetSystemMetrics(SM_CXSCREEN) + 2*GetSystemMetrics(SM_CXFRAME),
						GetSystemMetrics(SM_CYSCREEN) + 2*GetSystemMetrics(SM_CYFRAME) + GetSystemMetrics(SM_CYCAPTION) + nHeight);
	}
}

void CMainFrame::OnUpdateViewFullscreen(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(m_fullScreen.bFullScreen);
}

void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) 
{
	CMDIFrameWnd::OnGetMinMaxInfo(lpMMI);

	if (m_fullScreen.bFullScreen)
	{
		int nHeight	=	GetSystemMetrics(SM_CYMENU);
		lpMMI->ptMaxPosition.y	=	-GetSystemMetrics(SM_CYFRAME) - GetSystemMetrics(SM_CYCAPTION) - nHeight;
		lpMMI->ptMaxTrackSize.y	=	lpMMI->ptMaxSize.y
								=	GetSystemMetrics(SM_CYSCREEN)
									+ 2*GetSystemMetrics(SM_CYFRAME)
									+ GetSystemMetrics(SM_CYCAPTION)
									+ nHeight;
	}
}

// 显示功能视图
void CMainFrame::OnViewWizard() 
{
	AfxSwitchToStaticView(RUNTIME_CLASS(CWizardView));
}

void CMainFrame::OnUpdateViewWizard(CCmdUI* pCmdUI) 
{
	CView * pView = AfxGetStaticDoc()->GetActiveView();
	pCmdUI->SetCheck(pView && pView->IsKindOf(RUNTIME_CLASS(CWizardView)));
}

void CMainFrame::OnViewSimu() 
{
	AfxSwitchToStaticView(RUNTIME_CLASS(CSimuView));
}

void CMainFrame::OnUpdateViewSimu(CCmdUI* pCmdUI) 
{
	CView * pView = AfxGetStaticDoc()->GetActiveView();
	pCmdUI->SetCheck(pView && pView->IsKindOf(RUNTIME_CLASS(CSimuView)));
}

void CMainFrame::OnViewSlist() 
{
	AfxSwitchToStaticView(RUNTIME_CLASS(CSListView));
}

void CMainFrame::OnUpdateViewSlist(CCmdUI* pCmdUI) 
{
	CView * pView = AfxGetStaticDoc()->GetActiveView();
	pCmdUI->SetCheck(pView && pView->IsKindOf(RUNTIME_CLASS(CSListView)));
}

void CMainFrame::OnViewRealtime() 
{
	AfxSwitchToStaticView(RUNTIME_CLASS(CRealTimeView));
}

void CMainFrame::OnUpdateViewRealtime(CCmdUI* pCmdUI) 
{
	CView * pView = AfxGetStaticDoc()->GetActiveView();
	pCmdUI->SetCheck(pView && pView->IsKindOf(RUNTIME_CLASS(CRealTimeView)));
}

void CMainFrame::OnViewMultisort() 
{
	AfxSwitchToStaticView(RUNTIME_CLASS(CMultiSortView));
}

void CMainFrame::OnUpdateViewMultisort(CCmdUI* pCmdUI) 
{
	CView * pView = AfxGetStaticDoc()->GetActiveView();
	pCmdUI->SetCheck(pView && pView->IsKindOf(RUNTIME_CLASS(CMultiSortView)));
}

void CMainFrame::OnViewTechgraph() 
{
	AfxSwitchToStaticView(RUNTIME_CLASS(CGraphView));
}

void CMainFrame::OnUpdateViewTechgraph(CCmdUI* pCmdUI) 
{
	CView * pView = AfxGetStaticDoc()->GetActiveView();
	pCmdUI->SetCheck(pView && pView->IsKindOf(RUNTIME_CLASS(CGraphView)));
}

void CMainFrame::OnViewBase() 
{
	AfxSwitchToStaticView(RUNTIME_CLASS(CBaseView));
}

void CMainFrame::OnUpdateViewBase(CCmdUI* pCmdUI) 
{
	CView * pView = AfxGetStaticDoc()->GetActiveView();
	pCmdUI->SetCheck(pView && pView->IsKindOf(RUNTIME_CLASS(CBaseView)));
}

void CMainFrame::OnViewInfo() 
{
	AfxSwitchToStaticView(RUNTIME_CLASS(CInfoView));
}

void CMainFrame::OnUpdateViewInfo(CCmdUI* pCmdUI) 
{
	CView * pView = AfxGetStaticDoc()->GetActiveView();
	pCmdUI->SetCheck(pView && pView->IsKindOf(RUNTIME_CLASS(CInfoView)));
}

void CMainFrame::OnViewSelector() 
{
	AfxSwitchToStaticView(RUNTIME_CLASS(CSelectorView));
}

void CMainFrame::OnUpdateViewSelector(CCmdUI* pCmdUI) 
{
	CView * pView = AfxGetStaticDoc()->GetActiveView();
	pCmdUI->SetCheck(pView && pView->IsKindOf(RUNTIME_CLASS(CSelectorView)));
}

void CMainFrame::OnViewF10() 
{
	AfxSwitchToStaticView(RUNTIME_CLASS(CBaseView));
//	AfxSwitchToStaticView(RUNTIME_CLASS(CInfoView));
//	::PostMessage(AfxGetInfoView()->GetSafeHwnd(), WM_COMMAND, ID_VIEW_F10, 0);
}

void CMainFrame::OnUpdateViewF10(CCmdUI* pCmdUI) 
{
	CView * pView = AfxGetStaticDoc()->GetActiveView();
	pCmdUI->SetCheck(pView && pView->IsKindOf(RUNTIME_CLASS(CBaseView)));
//	CView * pView = AfxGetStaticDoc()->GetActiveView();
//	CInfoView * pInfoView = AfxGetInfoView();
//	pCmdUI->SetCheck(pView && pView->IsKindOf(RUNTIME_CLASS(CInfoView))
//					&& pInfoView && pInfoView->IsViewF10());
}

////////////////////////////////////////////////////////////////////////////////
// “列表”菜单
// 股票列表
void CMainFrame::OnSlistIndex()	{	AfxShowSlist(CStockContainer::typeIndex);	}
void CMainFrame::OnSlistStrategy()	{	AfxShowSlist(CStockContainer::typeStrategy);	}
void CMainFrame::OnSlistGroup()	{	AfxShowSlist(CStockContainer::typeGroup);	}
void CMainFrame::OnSlistGroupself()
{	CString	strSelf;
	strSelf.LoadString(IDS_DOMAIN_SELF);
	AfxShowSlist(CStockContainer::typeGroup, strSelf);	}
void CMainFrame::OnSlistDomain(){	AfxShowSlist(CStockContainer::typeDomain);}

void CMainFrame::OnSlistDomainRange(UINT nCmdID)
{
	if (nCmdID < ID_SLIST_DOMAIN_START || nCmdID > ID_SLIST_DOMAIN_END)
	{
		ASSERT(FALSE);
		return;
	}

	CDomainContainer &container = AfxGetDomainContainer();
	int nIndex	=	nCmdID - ID_SLIST_DOMAIN_START;
	CString	strDomainName;
	if (ID_SLIST_DOMAIN_END == nCmdID)
	{
		CSelectGrpDlg	dlg;
		dlg.SetMode(CSelectGrpDlg::modeDomain);
		if (IDOK == dlg.DoModal())
			strDomainName	=	dlg.GetSelectedName();
		else
			return;
	}
	else if (nIndex < container.GetSize())
	{
		CDomain	& domain = container.ElementAt(nIndex);
		strDomainName	=	domain.m_strName;
	}
	else
	{
		ASSERT(FALSE);
		return;
	}
	AfxShowSlist(CStockContainer::typeDomain, strDomainName);
}

void CMainFrame::OnSlistGroupRange(UINT nCmdID)
{
	if (nCmdID < ID_SLIST_GROUP_START || nCmdID > ID_SLIST_GROUP_END)
	{
		ASSERT(FALSE);
		return;
	}

	CDomainContainer &container = AfxGetGroupContainer();
	int nIndex	=	nCmdID - ID_SLIST_GROUP_START;
	CString	strGroupName;
	if (ID_SLIST_GROUP_END == nCmdID)
	{
		CSelectGrpDlg	dlg;
		dlg.SetMode(CSelectGrpDlg::modeGroup);
		if (IDOK == dlg.DoModal())
			strGroupName	=	dlg.GetSelectedName();
		else
			return;
	}
	else if (nIndex < container.GetSize())
	{
		CDomain	& domain = container.ElementAt(nIndex);
		strGroupName	=	domain.m_strName;
	}
	else
	{
		ASSERT(FALSE);
		return;
	}

	AfxShowSlist(CStockContainer::typeGroup, strGroupName);
}

// 股票列表报价
void CMainFrame::OnSlistAll()		{	AfxShowSlist(CStockContainer::typeAll);			}
void CMainFrame::OnSlistShaa()		{	AfxShowSlist(CStockContainer::typeClassShaa);		}
void CMainFrame::OnSlistShab()		{	AfxShowSlist(CStockContainer::typeClassShab);		}
void CMainFrame::OnSlistSzna()		{	AfxShowSlist(CStockContainer::typeClassSzna);		}
void CMainFrame::OnSlistSznb()		{	AfxShowSlist(CStockContainer::typeClassSznb);		}
void CMainFrame::OnSlistShabond()	{	AfxShowSlist(CStockContainer::typeClassShabond);	}
void CMainFrame::OnSlistSznbond()	{	AfxShowSlist(CStockContainer::typeClassSznbond);	}
// 股票列表涨跌排名
void CMainFrame::OnSlistShaasortdp()	{	AfxShowSlistSortDP(CStockContainer::typeClassShaa);		}
void CMainFrame::OnSlistShabsortdp()	{	AfxShowSlistSortDP(CStockContainer::typeClassShab);		}
void CMainFrame::OnSlistSznasortdp()	{	AfxShowSlistSortDP(CStockContainer::typeClassSzna);		}
void CMainFrame::OnSlistSznbsortdp()	{	AfxShowSlistSortDP(CStockContainer::typeClassSznb);		}
void CMainFrame::OnSlistShabondsortdp()	{	AfxShowSlistSortDP(CStockContainer::typeClassShabond);	}
void CMainFrame::OnSlistSznbondsortdp()	{	AfxShowSlistSortDP(CStockContainer::typeClassSznbond);	}

void CMainFrame::OnSlistSetcolumn()
{
	CSListView	* pView =	AfxGetSListView();
	if (pView)
		pView->StoreColumnOrderArray();

	CSetColumnDlg	dlg;
	if (IDOK == dlg.DoModal())
	{
		// Show
		CSListView	* pView =	AfxGetSListView();
		if (pView)
			pView->ResetColumns();
		AfxGetStaticDoc()->UpdateAllViews(NULL, UPDATE_HINT_SLISTVIEW, NULL);
		AfxGetStaticDoc()->UpdateAllViews(NULL, UPDATE_HINT_SELECTORVIEW, NULL);
	}
}

void CMainFrame::OnSlistBaseindex() 
{
	CBaseIndexDlg	dlg;
	if (IDOK == dlg.DoModal() && dlg.m_bAddToList)
	{
		// Show
		CSListView	* pView =	AfxGetSListView();
		if (pView)
			pView->ResetColumns();
		AfxGetStaticDoc()->UpdateAllViews(NULL, UPDATE_HINT_SLISTVIEW, NULL);
		AfxGetStaticDoc()->UpdateAllViews(NULL, UPDATE_HINT_SELECTORVIEW, NULL);
	}
}

void CMainFrame::OnSlistbarDate()	{	}
void CMainFrame::OnSlistbarName()	{	}


////////////////////////////////////////////////////////////////////////////////
// “技术”菜单
// 指数日线显示
void CMainFrame::OnViewViewszzs()	{	AfxShowStockGraph(STKLIB_CODE_SZZS);	}
void CMainFrame::OnViewViewszybl()	{	AfxShowStockGraph(STKLIB_CODE_SZYBL);	}
void CMainFrame::OnViewViewszag()	{	AfxShowStockGraph(STKLIB_CODE_SZAG);	}
void CMainFrame::OnViewViewszbg()	{	AfxShowStockGraph(STKLIB_CODE_SZBG);	}
void CMainFrame::OnViewViewszncz()	{	AfxShowStockGraph(STKLIB_CODE_SZNCZ);	}
void CMainFrame::OnViewViewsznzz()	{	AfxShowStockGraph(STKLIB_CODE_SZNZZ);	}
void CMainFrame::OnViewViewszncfaz(){	AfxShowStockGraph(STKLIB_CODE_SZNCFAZ);	}
void CMainFrame::OnViewViewszncfbz(){	AfxShowStockGraph(STKLIB_CODE_SZNCFBZ);	}

void CMainFrame::OnViewTechoption()
{
	CSetParamDlg	dlg;
	dlg.DoModal();

	CGraphView * pGraphView = AfxGetGraphView();
	if (pGraphView)
		pGraphView->OnTechParametersChange();
	AfxGetStaticDoc()->UpdateAllViews(NULL, UPDATE_HINT_GRAPHVIEW, NULL);
}

#define	SWITCH_SHOW_GRAPH_COMMAND(nID, nIDLast)				\
		AfxSwitchToStaticView(RUNTIME_CLASS(CGraphView));		\
		::PostMessage(AfxGetGraphView()->GetSafeHwnd(), WM_COMMAND, nID, nIDLast);

#define	UPDATE_GRAPH_CMDUI(pCmdUI, updateFunc)				\
		CGraphView * pGraphView = AfxGetGraphView();			\
		if (pGraphView)										\
			pGraphView->updateFunc(pCmdUI);						\
		else													\
			pCmdUI->Enable(TRUE);

// K线图周期
void CMainFrame::OnViewPday()	{	SWITCH_SHOW_GRAPH_COMMAND(ID_VIEW_PDAY, 0);	}
void CMainFrame::OnUpdateViewPday(CCmdUI* pCmdUI)	{	UPDATE_GRAPH_CMDUI(pCmdUI,OnUpdateViewPday);	}
void CMainFrame::OnViewPweek()	{	SWITCH_SHOW_GRAPH_COMMAND(ID_VIEW_PWEEK, 0);	}
void CMainFrame::OnUpdateViewPweek(CCmdUI* pCmdUI)	{	UPDATE_GRAPH_CMDUI(pCmdUI,OnUpdateViewPweek);	}
void CMainFrame::OnViewPmonth()	{	SWITCH_SHOW_GRAPH_COMMAND(ID_VIEW_PMONTH, 0);	}
void CMainFrame::OnUpdateViewPmonth(CCmdUI* pCmdUI)	{	UPDATE_GRAPH_CMDUI(pCmdUI,OnUpdateViewPmonth);	}
void CMainFrame::OnViewPmin5()	{	SWITCH_SHOW_GRAPH_COMMAND(ID_VIEW_PMIN5, 0);	}
void CMainFrame::OnUpdateViewPmin5(CCmdUI* pCmdUI)	{	UPDATE_GRAPH_CMDUI(pCmdUI,OnUpdateViewPmin5);	}
void CMainFrame::OnViewPmin15()	{	SWITCH_SHOW_GRAPH_COMMAND(ID_VIEW_PMIN15, 0);	}
void CMainFrame::OnUpdateViewPmin15(CCmdUI* pCmdUI)	{	UPDATE_GRAPH_CMDUI(pCmdUI,OnUpdateViewPmin15);	}
void CMainFrame::OnViewPmin30()	{	SWITCH_SHOW_GRAPH_COMMAND(ID_VIEW_PMIN30, 0);	}
void CMainFrame::OnUpdateViewPmin30(CCmdUI* pCmdUI)	{	UPDATE_GRAPH_CMDUI(pCmdUI,OnUpdateViewPmin30);	}
void CMainFrame::OnViewPmin60()	{	SWITCH_SHOW_GRAPH_COMMAND(ID_VIEW_PMIN60, 0);	}
void CMainFrame::OnUpdateViewPmin60(CCmdUI* pCmdUI)	{	UPDATE_GRAPH_CMDUI(pCmdUI,OnUpdateViewPmin60);	}

// K线图移动
void CMainFrame::OnViewLeft()		{	SWITCH_SHOW_GRAPH_COMMAND(ID_VIEW_LEFT, 0);		}
void CMainFrame::OnViewRight()		{	SWITCH_SHOW_GRAPH_COMMAND(ID_VIEW_RIGHT, 0);		}
vo

⌨️ 快捷键说明

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