Ejemplo n.º 1
0
void CSearchBox::OnSelendok()
{
	// TODO: Add your control notification handler code here
	if( m_bDoNothing )
		return;

	int nSel = GetCurSel();

	m_hwndLastFocus	=	NULL;
	m_bSegmentEnd	=	TRUE;
	
	if( CB_ERR != nSel )
	{
		SetCurSel( nSel );
		if( m_bShowOnSel )
		{
			DWORD	dwData	=	GetItemData( nSel );
			CView * pView = AfxGetStaticDoc()->GetActiveView();
			if( dwData & SEARCHBOX_SIGNBIT_STT )
				AfxShowStockTech( dwData & ~SEARCHBOX_SIGNBIT_STT ); 
			else if( dwData & SEARCHBOX_SIGNBIT_ACCE )
				AfxExecuteAccelerator( dwData & ~SEARCHBOX_SIGNBIT_ACCE );
			else if( pView && pView->IsKindOf( RUNTIME_CLASS(CRealTimeView) ) )
				AfxShowStockRealTime( dwData, FALSE );
			else
				AfxShowStockGraph( dwData, FALSE );
			return;
		}
	}
	SetCurrentWindowText( );

	if( m_bAutoHide )
		SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_HIDEWINDOW );
}
Ejemplo n.º 2
0
void RunLinkRealTime()
{
	CWizardView * pView = AfxGetWizardView();
	if( pView && ::IsWindow(pView->GetSafeHwnd()) )
	{
		CString strCode = pView->m_cmbStock.GetSelectedStockCode();
		AfxShowStockRealTime( strCode );
	}
}
Ejemplo n.º 3
0
void CMultiSort::OnLButtonDblClk( UINT nFlags, CPoint point )
{
	OnLButtonDown( nFlags, point, FALSE, FALSE );

	if( m_nSelectPos < 0 )
		return;

	int	nSelectID	=	-1;
	if( modeDirect == m_nRefreshMode )
	{
		int size = sizeof(m_msRise.m_stocks)/sizeof(m_msRise.m_stocks[0]);
		char	buf_code[sizeof(m_msRise.m_stocks[0].m_code)+1];
		memset( buf_code, 0, sizeof(buf_code) );

		if( areaRise == m_nSelectArea && m_nSelectPos < size )
			memcpy( buf_code, m_msRise.m_stocks[m_nSelectPos].m_code, sizeof(m_msRise.m_stocks[0].m_code) );
		else if( areaFall == m_nSelectArea && m_nSelectPos < size )
			memcpy( buf_code, m_msFall.m_stocks[m_nSelectPos].m_code, sizeof(m_msRise.m_stocks[0].m_code) );
		else if( areaDiff == m_nSelectArea && m_nSelectPos < size )
			memcpy( buf_code, m_msDiff.m_stocks[m_nSelectPos].m_code, sizeof(m_msRise.m_stocks[0].m_code) );
		else if( areaRiseMin5 == m_nSelectArea && m_nSelectPos < size )
			memcpy( buf_code, m_msRiseMin5.m_stocks[m_nSelectPos].m_code, sizeof(m_msRise.m_stocks[0].m_code) );
		else if( areaFallMin5 == m_nSelectArea && m_nSelectPos < size )
			memcpy( buf_code, m_msFallMin5.m_stocks[m_nSelectPos].m_code, sizeof(m_msRise.m_stocks[0].m_code) );
		else if( areaVolRatio == m_nSelectArea && m_nSelectPos < size )
			memcpy( buf_code, m_msVolRatio.m_stocks[m_nSelectPos].m_code, sizeof(m_msRise.m_stocks[0].m_code) );
		else if( areaBSRatioAsc == m_nSelectArea && m_nSelectPos < size )
			memcpy( buf_code, m_msBSRatioAsc.m_stocks[m_nSelectPos].m_code, sizeof(m_msRise.m_stocks[0].m_code) );
		else if( areaBSRatioDesc == m_nSelectArea && m_nSelectPos < size )
			memcpy( buf_code, m_msBSRatioDesc.m_stocks[m_nSelectPos].m_code, sizeof(m_msRise.m_stocks[0].m_code) );
		else if( areaAmount == m_nSelectArea && m_nSelectPos < size )
			memcpy( buf_code, m_msAmount.m_stocks[m_nSelectPos].m_code, sizeof(m_msRise.m_stocks[0].m_code) );
		else
			return;
		if( strlen(buf_code) > 0 )
			AfxGetStockContainer().GetStockInfo( buf_code, NULL, &nSelectID );
	}
	else
	{
		if( areaRise == m_nSelectArea && m_nSelectPos < m_adwRise.GetSize() )
			nSelectID		=	m_adwRise[m_nSelectPos];
		else if( areaFall == m_nSelectArea && m_nSelectPos < m_adwFall.GetSize() )
			nSelectID		=	m_adwFall[m_nSelectPos];
		else if( areaDiff == m_nSelectArea && m_nSelectPos < m_adwDiff.GetSize() )
			nSelectID		=	m_adwDiff[m_nSelectPos];
		else if( areaRiseMin5 == m_nSelectArea && m_nSelectPos < m_adwRiseMin5.GetSize() )
			nSelectID		=	m_adwRiseMin5[m_nSelectPos];
		else if( areaFallMin5 == m_nSelectArea && m_nSelectPos < m_adwFallMin5.GetSize() )
			nSelectID		=	m_adwFallMin5[m_nSelectPos];
		else if( areaVolRatio == m_nSelectArea && m_nSelectPos < m_adwVolRatio.GetSize() )
			nSelectID		=	m_adwVolRatio[m_nSelectPos];
		else if( areaBSRatioAsc == m_nSelectArea && m_nSelectPos < m_adwBSRatioAsc.GetSize() )
			nSelectID		=	m_adwBSRatioAsc[m_nSelectPos];
		else if( areaBSRatioDesc == m_nSelectArea && m_nSelectPos < m_adwBSRatioDesc.GetSize() )
			nSelectID		=	m_adwBSRatioDesc[m_nSelectPos];
		else if( areaAmount == m_nSelectArea && m_nSelectPos < m_adwAmount.GetSize() )
			nSelectID		=	m_adwAmount[m_nSelectPos];
		else
			return;
	}

	// 选中股票
	if( nSelectID >= 0 && nSelectID < AfxGetStockContainer().GetSize() )
	{
		AfxShowStockRealTime( nSelectID, FALSE );
	}
}
Ejemplo n.º 4
0
BOOL CSearchBox::PreTranslateMessage(MSG* pMsg)
{
	if( pMsg->message == WM_KEYDOWN )
	{
		if( IsWantChar( pMsg->wParam ) )
		{
			OnChangeStatus( pMsg->wParam, pMsg->lParam, TRUE );
			return TRUE;
		}
		if( VK_RETURN == pMsg->wParam )
		{
			m_bDoNothing	=	TRUE;
			m_hwndLastFocus	=	NULL;
			m_bSegmentEnd	=	TRUE;

			CString	strCommand;
			GetWindowText( strCommand );
			int nSel = SelectString( 0, strCommand );
			ShowDropDown( FALSE );
			SetCurSel( nSel );
			
			// Show Graph View
			if( CB_ERR != nSel && m_bShowOnSel )
			{
				DWORD	dwData	=	GetItemData( nSel );
				CView * pView = AfxGetStaticDoc()->GetActiveView();
				if( dwData & SEARCHBOX_SIGNBIT_STT )
					AfxShowStockTech( dwData & ~SEARCHBOX_SIGNBIT_STT ); 
				else if( dwData & SEARCHBOX_SIGNBIT_ACCE )
					AfxExecuteAccelerator( dwData & ~SEARCHBOX_SIGNBIT_ACCE );
				else if( IsCTRLpressed() )
					AfxShowStockBase( dwData, FALSE );
				else if( pView && pView->IsKindOf( RUNTIME_CLASS(CRealTimeView) ) )
					AfxShowStockRealTime( dwData, FALSE );
				else
					AfxShowStockGraph( dwData, FALSE );
			}
			else if( CB_ERR == nSel && m_bShowOnSel )
			{
				AfxShowStockGraph( strCommand );
			}
			else
				SetCurrentWindowText( );

			m_bDoNothing	=	FALSE;
			if( m_bAutoHide )
				SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_HIDEWINDOW );
			return TRUE;
		}
		else if( VK_ESCAPE == pMsg->wParam )
		{
			m_bDoNothing	=	TRUE;
			if( m_hwndLastFocus )
				::SetFocus( m_hwndLastFocus );
			m_hwndLastFocus	=	NULL;
			m_bSegmentEnd	=	TRUE;

			CString	strCommand;
			GetWindowText( strCommand );
			int nSel = SelectString( 0, strCommand );
			ShowDropDown( FALSE );
			SetCurSel( nSel );

			SetCurrentWindowText( );
			m_bDoNothing	=	FALSE;

			if( m_bAutoHide )
				SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_HIDEWINDOW );
			return TRUE;
		}
	}

	return CComboBox::PreTranslateMessage(pMsg);
}