Esempio n. 1
0
void CSListView::ResetColumns( )
{
	CStockContainer & container = AfxGetSListStockContainer();
	container.Lock();
	
	//  its list control through a call to GetListCtrl().
	CSPDWordArray	& auint = AfxGetProfile().GetSListColumnsShow( );
	ASSERT( auint.GetSize() > 0 );

	m_Grid.SetRedraw( FALSE );

	m_Grid.DeleteAllItems();

	m_Grid.SetRowCount(1);
	m_Grid.SetFixedRowCount(1);
	m_Grid.SetFixedColumnCount(1);
	m_Grid.SetColumnCount(auint.GetSize());

	for( int nCol=0; nCol<auint.GetSize(); nCol++ )
	{
		CString	string	=	AfxGetVariantName(auint[nCol],TRUE);
		m_Grid.SetItemText( 0, nCol, string );
		m_Grid.SetItemData( 0, nCol, auint[nCol] );
		m_Grid.SetItemFormat( 0, nCol, DT_CENTER|DT_VCENTER|DT_SINGLELINE );
		m_Grid.SetItemBkColour( 0, nCol, AfxGetProfile().GetColor(CColorClass::clrSListBK) );
		m_Grid.SetItemFgColour( 0, nCol, AfxGetProfile().GetColor(CColorClass::clrTitle) );
	}

	m_Grid.AutoSizeColumns();

	m_Grid.SetRedraw( TRUE, TRUE );
	m_Grid.Invalidate( );
	
	container.UnLock();
}
Esempio n. 2
0
BOOL UpdateStockContainerByKData( CStockContainer &container, LPCTSTR lpszCode, CKData & kdata )
{
	container.Lock();

	int	id = 0;
	if( CKData::ktypeDay == kdata.GetKType()
		&& container.GetStockInfo( lpszCode, NULL, &id ) )
	{
		CStockInfo	& info	=	container.ElementAt(id);
		if( kdata.GetSize() > (int)AfxGetProfile().GetCacheDays() )
		{
			// 只使用AfxGetProfile().GetCacheDays()天的数据
			CKData	temp( kdata.GetKType() );
			for( int i=kdata.GetSize()-AfxGetProfile().GetCacheDays(); i<kdata.GetSize(); i++ )
				temp.Add( kdata.ElementAt(i) );
			info.m_kdata.MergeKData( &temp );
		}
		else
			info.m_kdata.MergeKData( &kdata );

		
		// 指数涨跌家数
		int nSize = info.m_kdata.GetSize();
		if( nSize > 0 )
		{
			info.m_dwAdvance	=	info.m_kdata.ElementAt(nSize-1).m_dwAdvance;
			info.m_dwDecline	=	info.m_kdata.ElementAt(nSize-1).m_dwDecline;
		}
	}
	container.UnLock();
	return TRUE;
}
Esempio n. 3
0
void CGraphView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) 
{
	// TODO: Add your specialized code here and/or call the base class
	if( UPDATE_HINT_GRAPHVIEW != lHint && UPDATE_HINT_GRAPHVIEW_NOTRELOADDATA != lHint )
		return;
	if( !IsWindowVisible() )
		return;
	SetFocus( );

	CStockInfo	info;
	if( AfxGetProfile().GetCurrentStock( &info ) )
	{
		m_graph.SetCurStock( info );
		m_graph.PrepareStockData( UPDATE_HINT_GRAPHVIEW_NOTRELOADDATA != lHint );
	}
	else
	{
		m_graph.SetCurStock( STKLIB_CODE_MAIN );
		m_graph.PrepareStockData( UPDATE_HINT_GRAPHVIEW_NOTRELOADDATA != lHint );
		AfxGetProfile().SetCurrentStock( STKLIB_CODE_MAIN, FALSE );
	}

	Invalidate( );

	CMainFrame	* pFrame = AfxGetMainFrame();
	if( pFrame )
		pFrame->m_SearchBox.SetCurrentWindowText( );
}
Esempio n. 4
0
//////////////////////////////////////////////////////////////////////////////////
// database functions
BOOL AfxInitializeDB( LPSTR lpErr, UINT nMaxSize )
{
	if( lpErr && nMaxSize > 0 )
		memset( lpErr, 0, nMaxSize );

	if( !CStDatabase::CreateSelfDB( AfxGetProfile().GetSelfDBPath() ) )
	{
		if( lpErr )	strncpy( lpErr, db_errcreateselfdb, min(nMaxSize-1,strlen(db_errcreateselfdb)) );
		return FALSE;
	}

	if( !AfxGetDB().SetRootPath( AfxGetProfile().GetSelfDBPath(), IStStore::dbtypeSelfDB ) )
	{
		if( lpErr )	strncpy( lpErr, db_errrootpath, min(nMaxSize-1,strlen(db_errrootpath)) );
		return FALSE;
	}

	CSPString	strQianlongPath	=	AfxGetProfile().GetQianlongPath();
	if( strQianlongPath.GetLength() > 0
		&& !AfxGetDB().AddAssistantRootPath( strQianlongPath, IStStore::dbtypeQianlong ) )
	{
		if( lpErr )	strncpy( lpErr, db_errqianlongpath, min(nMaxSize-1,strlen(db_errqianlongpath)) );
		return FALSE;
	}

	return TRUE;
}
Esempio n. 5
0
void CRealTimeView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) 
{
	// TODO: Add your specialized code here and/or call the base class
	if( UPDATE_HINT_REALTIMEVIEW != lHint )
		return;
	if( !IsWindowVisible() )
		return;
	SetFocus( );

	ASSERT( RTV_MAX_MULTICOUNT > 0 );

	CStockInfo	info;
	if( AfxGetProfile().GetCurrentStock( &info ) )
	{
		m_realtime[0].SetCurStock( info );
		m_realtime[0].PrepareStockData( );
	}
	else
	{
		m_realtime[0].SetCurStock( STKLIB_CODE_MAIN );
		m_realtime[0].PrepareStockData( );
		AfxGetProfile().SetCurrentStock( STKLIB_CODE_MAIN, FALSE );
	}
	if( CRealTime::modeReportDetail == m_realtime[0].GetDrawMode() )
		AfxGetStkReceiver().RequestStockData( CStock::dataDetail, &info, 1, 0, 0 );
	else
		AfxGetStkReceiver().RequestStockData( CStock::dataMinute, &info, 1, 0, 0 );

	// 多股同列
	int i;
	for( i=1; i<m_nMultiStockCount && i<RTV_MAX_MULTICOUNT; i++ )
	{
		if( AfxGetProfile().GetNextStock( &info ) )
		{
			m_realtime[i].SetCurStock( info );
			m_realtime[i].PrepareStockData( );
			if( CRealTime::modeReportDetail == m_realtime[0].GetDrawMode() )
				AfxGetStkReceiver().RequestStockData( CStock::dataDetail, &info, 1, 0, 0 );
			else
				AfxGetStkReceiver().RequestStockData( CStock::dataMinute, &info, 1, 0, 0 );
		}
	}
	for( i=1; i<m_nMultiStockCount && i<RTV_MAX_MULTICOUNT; i++ )
		AfxGetProfile().GetPrevStock( &info );

	Invalidate( );

	if( 1 == m_nMultiStockCount && CRealTime::modePriceLine == m_realtime[0].GetDrawMode() )
		m_wndReportTab.SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW );
	else
		m_wndReportTab.SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_HIDEWINDOW );

	CMainFrame	* pFrame = AfxGetMainFrame();
	if( pFrame )
		pFrame->m_SearchBox.SetCurrentWindowText( );

	SendRequestQuote(TRUE);
}
void CSetColumnDlg::OnSetdefault() 
{
	// TODO: Add your control notification handler code here
	if( IDYES == AfxMessageBox( IDS_SETCOLUMN_SETDEFAULT, MB_YESNO | MB_ICONINFORMATION ) )
	{
		AfxGetProfile().SetSListColumnsDefault( );
		SetListColumnItems( AfxGetProfile().GetSListColumnsShow(), TRUE );
	}
}
Esempio n. 7
0
LRESULT CGraphView::OnColorChange(WPARAM wParam, LPARAM lParam)
{
	m_wndReportTab.SetColorTabs(AfxGetProfile().GetColor(CColorClass::clrGraphBK));
	m_wndReportTab.SetSelectTabColor( AfxGetProfile().GetColor(CColorClass::clrGraphBK),
									AfxGetProfile().GetColor(CColorClass::clrTitle) );

	Invalidate( );
	return 0L;
}
Esempio n. 8
0
LRESULT CSListView::OnColorChange(WPARAM wParam, LPARAM lParam)
{
	m_wndWorkTab.SetSelectTabColor( AfxGetProfile().GetColor(CColorClass::clrSListBK),
									AfxGetProfile().GetColor(CColorClass::clrTitle) );
	m_wndWorkTab.Invalidate( );

	m_Grid.SetBkColor( AfxGetProfile().GetColor(CColorClass::clrSListBK) );
	m_Grid.SetTextBkColor( AfxGetProfile().GetColor(CColorClass::clrSListBK) );
	m_Grid.SetSelectedBkColor(AfxGetProfile().GetColor(CColorClass::clrSListSelected));

	OnUpdate( NULL, UPDATE_HINT_SLISTVIEW, NULL );
	return 0L;
}
Esempio n. 9
0
void CSetColorDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	UpdateData();

	CColorClassContainer & container = AfxGetProfile().GetColorClassContainer( );
	container.SetColorClass( m_clsOriginal );
	
	CXFDialog::OnCancel();

	AfxGetProfile().StoreProfile( );
	OnColorChanged( );
}
Esempio n. 10
0
void CTyDataDlg::LoadProfile( )
{
	m_strFileDest	=	AfxGetProfile().GetExportPath() + "Tysj.stk";

	m_strPathSrcSH	=	AfxGetApp()->GetProfileString( "tydata", "pathsrcsh", m_strPathSrcSH );
	m_strPathSrcSZ	=	AfxGetApp()->GetProfileString( "tydata", "pathsrcsz", m_strPathSrcSZ );
	m_strFileDest	=	AfxGetApp()->GetProfileString( "tydata", "filedest", m_strFileDest );

	if( (0 != access( m_strPathSrcSH, 0 ) || FILE_ATTRIBUTE_DIRECTORY != GetFileAttributes( m_strPathSrcSH ) ) )
		m_strPathSrcSH	=	AfxGetProfile().GetWorkDirectory() + "data\\shase\\day\\";
	if( (0 != access( m_strPathSrcSZ, 0 ) || FILE_ATTRIBUTE_DIRECTORY != GetFileAttributes( m_strPathSrcSZ ) ) )
		m_strPathSrcSZ	=	AfxGetProfile().GetWorkDirectory() + "data\\sznse\\day\\";
}
Esempio n. 11
0
int CRealTimeView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CView::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	CFont	font;
	if( !font.CreateStockObject( DEFAULT_GUI_FONT ) )
		font.CreateStockObject( ANSI_VAR_FONT );
	SetFont( &font );

	// tab
	if (!m_wndReportTab.Create(WS_VISIBLE|WS_CHILD,CRect(0,0,180,19),this,IDC_REALTIMEVIEW_REPORTTAB))
		return -1;
	
	CString	strName;
	strName.LoadString( IDS_REALTIMETAB_QUOTE );
	m_wndReportTab.Addtab( this, strName, -1);
	strName.LoadString( IDS_REALTIMETAB_PRICE );
	m_wndReportTab.Addtab( this, strName, -1);
	strName.LoadString( IDS_REALTIMETAB_MINUTE );
	m_wndReportTab.Addtab( this, strName, -1);
	strName.LoadString( IDS_REALTIMETAB_BUYSELLEX );
	m_wndReportTab.Addtab( this, strName, -1);
	strName.LoadString( IDS_REALTIMETAB_VALUE );
	m_wndReportTab.Addtab( this, strName, -1);
	strName.LoadString( IDS_REALTIMETAB_DISTRIBUTE );
	m_wndReportTab.Addtab( this, strName, -1);
	strName.LoadString( IDS_REALTIMETAB_BIGTRADE );
	m_wndReportTab.Addtab( this, strName, -1);

	m_wndReportTab.SetColorTabs(AfxGetProfile().GetColor(CColorClass::clrGraphBK));
	m_wndReportTab.SetSelectTabColor( AfxGetProfile().GetColor(CColorClass::clrGraphBK),
									AfxGetProfile().GetColor(CColorClass::clrTitle) );
	m_wndReportTab.SetAutoAjust(FALSE);
	m_wndReportTab.ShowButtonClose(FALSE);
	m_wndReportTab.SetALingTabs( CGuiTabWnd::ALN_BOTTOM );

	// m_realtime
	for( int i=0; i<RTV_MAX_MULTICOUNT; i++ )
		m_realtime[i].SetParent( this );

	// 实时行情刷新
	AfxGetStkReceiver().AddRcvDataWnd( GetSafeHwnd() );

	// 大单成交刷新
	SetTimer( RTV_TIMER_REFRESHBIGTRADE, 30000, NULL );
	SetTimer( RTV_TIMER_REFRESH, 30000, NULL );

	return 0;
}
Esempio n. 12
0
BOOL CRegisterDlg::OnInitDialog() 
{
	CXFDialog::OnInitDialog();

	m_linkGoPurchase.SetURL( (LPCTSTR)AfxGetProfile().GetPurchaseURL() );

	BOOL	bEnableApplyForEva = FALSE;
	BOOL	bEvaluate	=	AfxGetSView().IsEva();
	if( bEvaluate )
	{
		CString	strLeftDays;
		if( AfxGetSView().GetLeft() > AfxGetSView().GetMaxEvaDays() )
			strLeftDays.LoadString( IDS_REGISTER_NOTIMELIMIT );
		else
			strLeftDays.Format( "%d", AfxGetSView().GetLeft() );
		m_staticLeftDays.SetWindowText( strLeftDays );
		bEnableApplyForEva = (AfxGetSView().GetMaxEvaDays() <= 0);
	}
	else
	{
		CString	strPurchased;
		strPurchased.LoadString( IDS_REGISTER_PURCHASED );
		m_staticLeftDaysTitle.SetWindowText( strPurchased );

		m_staticLeftDays.SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER|SWP_HIDEWINDOW );
		m_linkGoPurchase.SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER|SWP_HIDEWINDOW );

		m_strUserName	=	AfxGetSView().GetU();
		m_strRegCode	=	AfxGetSView().GetR();
	}

	m_strSoftNO	=	CSView::GetS();
	UpdateData( FALSE );

	m_btnApplyforEva.EnableWindow( bEnableApplyForEva );

	CenterWindow();

	CString	strInfo;
	if( bEvaluate && AfxGetSView().GetLeft() <= 0 )
	{
		strInfo.LoadString( IDS_EVALUATEINFO );
		AfxMessageBox( strInfo, MB_OK | MB_ICONINFORMATION );
	}

	AfxGetSView().Store( AfxGetProfile().GetSViewFile() );
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
Esempio n. 13
0
LRESULT CTechsView::OnColorChange(WPARAM wParam, LPARAM lParam)
{
	CTreeCtrl &treectrl = GetTreeCtrl();
	COLORREF	clrBK	=	AfxGetProfile().GetColor( CColorClass::clrWorkspBK );
	COLORREF	clrText	=	AfxGetProfile().GetColor( CColorClass::clrWorkspText );
	treectrl.SetBkColor( clrBK );
	treectrl.SetTextColor( clrText );
	
	CWnd * pParent = GetParent();
	if( pParent && ::IsWindow(pParent->GetSafeHwnd()) )
		pParent->SendMessage( WM_GUITABWND_COLORCHANGE, clrBK, clrText );
	
	Invalidate( );
	return 0;
}
Esempio n. 14
0
void CSetColorDlg::OnSelchangeColorclass() 
{
	// TODO: Add your control notification handler code here
	CColorClassContainer & container = AfxGetProfile().GetColorClassContainer( );

	if( m_strNameCurrent.GetLength() > 0 )
	{
		CColorClass cls;
		cls.SetColorDefault();
		cls.SetName( m_strNameCurrent );
		StoreToColorClass( cls );
		VERIFY( container.SetColorClass( cls ) );
	}
	
	CString	strNameNow;
	m_comboColorClass.GetWindowText( strNameNow );
	
	CColorClass	clsNow;
	if( container.GetColorClass( strNameNow, clsNow ) )
	{
		LoadFromColorClass( clsNow );
		m_clsOriginal	=	clsNow;
		m_strNameCurrent	=	strNameNow;
		m_btnDelete.EnableWindow( !CColorClass::IsSysColorClass( strNameNow ) );
	}
}
Esempio n. 15
0
void CSetColorDlg::OnSaveas() 
{
	// TODO: Add your control notification handler code here
	CColorClassContainer & container = AfxGetProfile().GetColorClassContainer( );
	CColorClass	cls;
	cls.SetColorDefault();
	StoreToColorClass( cls );

	while( TRUE )
	{
		CStringDialog	dlg( this, IDS_SETCOLOR_SAVEASTITLE, IDS_SETCOLOR_SAVEASTITLE, NULL );
		if( IDOK != dlg.DoModal() )
			break;

		cls.SetName( dlg.GetStringWant() );
		if( -1 == container.AddColorClass( cls ) )
		{
			AfxMessageBox( IDS_SETCOLOR_COLORCLASSEXIST, MB_OK|MB_ICONINFORMATION );
			continue;
		}
		m_comboColorClass.AddString( cls.GetName() );
		m_comboColorClass.SelectString( 0, cls.GetName() );
		OnSelchangeColorclass( );
		break;
	}
}
Esempio n. 16
0
BOOL CSetColumnDlg::OnInitDialog() 
{
	CXFDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_listColumn.SendMessage( LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP
						| LVS_EX_FLATSB | LVS_EX_REGIONAL | LVS_EX_INFOTIP | LVS_EX_UNDERLINEHOT );


	CRect	rectList;
	m_listColumn.GetClientRect( &rectList );
	CString	strHeaderName, strHeaderDescript, strHeaderSetting, strUserDefine;
	strHeaderName.LoadString( IDS_SETCOLUMN_NAME );
	strHeaderDescript.LoadString( IDS_SETCOLUMN_DESCRIPT );
	strHeaderSetting.LoadString( IDS_SETCOLUMN_SETTING );
	strUserDefine.LoadString( IDS_SETCOLUMN_USERDEFINE );
	m_listColumn.InsertColumn( 0, strHeaderName, LVCFMT_CENTER, rectList.Width() / 3 - 8 );
	m_listColumn.InsertColumn( 1, strHeaderDescript, LVCFMT_CENTER, rectList.Width() / 3 - 2 );
	m_listColumn.InsertColumn( 2, strHeaderSetting, LVCFMT_CENTER, rectList.Width() / 3 - 8 );

	SetListColumnItems( AfxGetProfile().GetSListColumnsShow(), FALSE );
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
Esempio n. 17
0
BOOL CRegisterDlg::CheckEvaCode( )
{
	if( AfxGetSView().SetEvaCode( m_strRegCode ) )
	{
		CString	strSuccess;
		strSuccess.LoadString( IDS_REGISTER_SUCCESS );
		m_staticRegister.SetWindowPos( NULL, 0,0,0,0, SWP_SHOWWINDOW|SWP_NOSIZE|SWP_NOMOVE);
		m_staticRegister.SetWindowText( strSuccess );
		CString	strLeftDays;
		strLeftDays.Format( "%d", AfxGetSView().GetLeft() );
		m_staticLeftDays.SetWindowText( strLeftDays );

		CString	strLeftTitle;
		strLeftTitle.LoadString( IDS_REGISTER_LEFTDAYSTITLE );
		m_staticLeftDaysTitle.SetWindowText( strLeftTitle );

		m_staticLeftDays.SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER|SWP_SHOWWINDOW );
		m_linkGoPurchase.SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER|SWP_SHOWWINDOW );

		AfxGetSView().Store( AfxGetProfile().GetSViewFile() );

		m_btnOK.EnableWindow( TRUE );
		return TRUE;
	}
	return FALSE;
}
Esempio n. 18
0
void CTechsView::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	CTreeCtrl &treectrl = GetTreeCtrl();
	HTREEITEM	hItem	=	treectrl.GetSelectedItem();
	CString	strText	=	treectrl.GetItemText(hItem);
	
	if( NULL != hItem )
	{
		UINT	nTech	=	treectrl.GetItemData(hItem);
		if( (nTech >= STT_MIN && nTech <= STT_MAX) || nTech >= STT_USER_MIN )
		{
			AfxGetProfile().ShowGraphViewTech( nTech );
			CGraphView * pGraphView = AfxGetGraphView();
			CView * pActiveView = AfxGetStaticDoc()->GetActiveView();
			if( pGraphView )
				pGraphView->ResetClientRect( );
			if( pGraphView && pGraphView->GetSafeHwnd() == pActiveView->GetSafeHwnd() )
				pGraphView->Invalidate();
			else
				AfxSwitchToStaticView( RUNTIME_CLASS(CGraphView) );
			SetFocus( );
		}
	}
	
	*pResult = 0;
}
Esempio n. 19
0
BOOL CInstallPacDlg::OnInitDialog() 
{
	CPropertyPageEx::OnInitDialog();
	
	// TODO: Add extra initialization here
	CString	strURL	=	AfxGetProfile().GetDownloadURL();
	m_linkGoWeb.SetURL( strURL );

	CheckRadioButton( IDC_DAYPACKAGE, IDC_MIN5PACKAGE, IDC_DAYPACKAGE );

	m_staticStatus.SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER|SWP_HIDEWINDOW );
	m_ctrlProgress.SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER|SWP_HIDEWINDOW );
	m_btnStop.EnableWindow( FALSE );

	CRect	rect;
	m_listFiles.GetWindowRect( &rect );
	m_listFiles.InsertColumn( 0, "", LVCFMT_LEFT, rect.Width()-5 );

	m_imageList.Create(IDB_PACKAGE, 16, 1, RGB(0, 255, 0));
	m_listFiles.SetImageList( &m_imageList, LVSIL_SMALL );

	m_ctrlProgress.SetRange( 0, STKLIB_MAX_PROGRESS );
	m_ctrlProgress.SetPos( 0 );

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
Esempio n. 20
0
void CSetColorDlg::OnDelete() 
{
	// TODO: Add your control notification handler code here
	CString	strName;
	m_comboColorClass.GetWindowText( strName );
	CColorClassContainer & container = AfxGetProfile().GetColorClassContainer( );
	if( CColorClass::IsSysColorClass(strName) || m_comboColorClass.GetCount() <= 1 )
	{
		AfxMessageBox( IDS_SETCOLOR_CANNOTDELETESYS, MB_OK|MB_ICONINFORMATION );
		return;
	}

	if( IDYES == AfxMessageBox( IDS_SETCOLOR_DELETECONFIRM, MB_YESNO ) )
	{
		if( container.RemoveColorClass( strName ) )
		{
			int	nSel	=	m_comboColorClass.GetCurSel();
			m_comboColorClass.DeleteString( nSel );
			if( nSel >= m_comboColorClass.GetCount() )
				nSel	=	0;
			m_strNameCurrent.Empty( );
			m_comboColorClass.SetCurSel( nSel );
			OnSelchangeColorclass( );
		}
	}
}
Esempio n. 21
0
void CDownloadDlg::InitComboServers( )
{
	int i;
	for( i=m_comboServers.GetCount()-1; i>=0; i-- )
		m_comboServers.DeleteString(i);
	CString	strMain	=	AfxGetProfile().GetMainServer();
	m_comboServers.AddString( strMain );
	
	CSPStringArray &	astr	=	AfxGetProfile().GetDownloadServers();
	for( i=0; i<astr.GetSize(); i++ )
	{
		if( 0 != strMain.CompareNoCase((LPCTSTR)astr.ElementAt(i)) )
			m_comboServers.AddString( (LPCTSTR)astr.ElementAt(i) );
	}
	m_comboServers.SelectString( 0, AfxGetProfile().GetDefaultServer() );
}
Esempio n. 22
0
void CSListView::OnInitialUpdate()
{
	CFormView::OnInitialUpdate();

	//	SetColumn
	ResetColumns( );

	// Create Tab
	if( !::IsWindow( m_wndWorkTab.GetSafeHwnd() )
		&& m_wndWorkTab.Create(WS_CHILD|WS_VISIBLE, CRect(0,0,0,0), this, IDC_SLISTVIEW_WORKTAB) )
	{
		CString	strName;
		strName.LoadString( IDS_SLISTVIEW_CLASS );
		m_wndWorkTab.Addtab( &m_Grid, strName, SL_WORKTAB_CLASS);
		strName.LoadString(IDS_SLISTVIEW_NQ);
		m_wndWorkTab.Addtab( &m_Grid, strName, SL_WORKTAB_NQ);
		strName.LoadString( IDS_SLISTVIEW_A );
		m_wndWorkTab.Addtab( &m_Grid, strName, SL_WORKTAB_A);
		strName.LoadString( IDS_SLISTVIEW_SZNB );
		m_wndWorkTab.Addtab( &m_Grid, strName, SL_WORKTAB_SZNB);
		strName.LoadString( IDS_SLISTVIEW_SHB );
		m_wndWorkTab.Addtab( &m_Grid, strName, SL_WORKTAB_SHB);
		strName.LoadString( IDS_SLISTVIEW_BOND );
		m_wndWorkTab.Addtab( &m_Grid, strName, SL_WORKTAB_BOND);
		strName.LoadString( IDS_SLISTVIEW_FUND );
		m_wndWorkTab.Addtab( &m_Grid, strName, SL_WORKTAB_FUND);
		strName.LoadString( IDS_SLISTVIEW_SELF );
		m_wndWorkTab.Addtab( &m_Grid, strName, SL_WORKTAB_SELF);
		strName.LoadString( IDS_SLISTVIEW_GROUP );
		m_wndWorkTab.Addtab( &m_Grid, strName, SL_WORKTAB_GROUP);
		strName.LoadString( IDS_SLISTVIEW_DOMAIN );
		m_wndWorkTab.Addtab( &m_Grid, strName, SL_WORKTAB_DOMAIN);

		m_wndWorkTab.SetSelectTabColor( AfxGetProfile().GetColor(CColorClass::clrSListBK),
										AfxGetProfile().GetColor(CColorClass::clrTitle) );
		m_wndWorkTab.SetActualTitle(FALSE);
		m_wndWorkTab.SetCurtab( SL_WORKTAB_SELF );

		CFont font;
		font.CreateStockObject (DEFAULT_GUI_FONT);
		m_wndWorkTab.SetFont( &font );

		// m_Grid No HScrollBar
		m_Grid.SetOuterHScrollBar( TRUE, m_wndWorkTab.GetSafeHwnd() );
	}
}
Esempio n. 23
0
void CStrategyView::OnDestroy() 
{
	CStrategy * pStrategy = GetActiveStrategy();
	if( pStrategy )
		AfxGetProfile().SetLastActiveStrategy( (LPCTSTR)m_pActiveStrategy->GetPathName() );

	CTreeView::OnDestroy();
}
Esempio n. 24
0
void CInstallPacDlg::OnStart() 
{
	// TODO: Add extra validation here
	if( 0 == m_listFiles.GetItemCount() )
	{
		AfxMessageBox( IDS_SELECTPACKAGE_FIRST, MB_OK | MB_ICONINFORMATION );
		return;
	}

	UpdateData( );
	// clear error pac msg
	m_astrErrorPac.RemoveAll();

	m_btnStart.EnableWindow( FALSE );
	m_btnStop.EnableWindow( TRUE );

	BOOL	bOK	=	TRUE;
	if( bOK && !m_netdb.SetRootPath( AfxGetProfile().GetSelfDBPath(), IStStore::dbtypeSelfDB ) )
	{
		AfxMessageBox( IDS_ROOTPATH_ERROR, MB_OK | MB_ICONINFORMATION );
		bOK	=	FALSE;
	}

	if( bOK )
	{
		m_staticStatus.SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER|SWP_SHOWWINDOW );
		m_ctrlProgress.SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER|SWP_SHOWWINDOW );

		CInstallPacDlg::m_hEventKillInstallThread = CreateEvent(NULL,FALSE,FALSE,NULL);
		CInstallPacDlg::m_hEventInstallThreadKilled = CreateEvent(NULL,FALSE,FALSE,NULL);

		m_astrPacFiles.RemoveAll();
		for( int i=0; i<m_listFiles.GetItemCount(); i++ )
			m_astrPacFiles.Add( m_listFiles.GetItemText( i, 0 ) );

		if( NULL == m_pInstallInfo )
			m_pInstallInfo	=	new INSTALL_INFO;
		memset( m_pInstallInfo, 0, sizeof(INSTALL_INFO) );
		m_pInstallInfo->hMainWnd	=	GetSafeHwnd();
		m_pInstallInfo->pNetDB		=	&m_netdb;
		m_pInstallInfo->pStringArray=	&m_astrPacFiles;

		CButton * pbtnDay	= (CButton *)GetDlgItem( IDC_DAYPACKAGE );
		CButton * pbtnMin5		= (CButton *)GetDlgItem( IDC_MIN5PACKAGE );

		m_pInstallInfo->nType	=	CPackage::packageUnknown;
		if( pbtnDay && pbtnDay->GetCheck() )
			m_pInstallInfo->nType	=	CPackage::packageDay;
		if( pbtnMin5 && pbtnMin5->GetCheck() )
			m_pInstallInfo->nType	=	CPackage::packageMin5;
		AfxBeginThread( InstallMain, (LPVOID)m_pInstallInfo,THREAD_PRIORITY_NORMAL);
	}
	else
	{
		m_btnStart.EnableWindow( TRUE );
		m_btnStop.EnableWindow( FALSE );
	}
}
Esempio n. 25
0
void CSetParamDlg::OnAlldefault() 
{
	// TODO: Add your control notification handler code here
	AfxGetProfile().GetTechParameters().SetDefaultParametersAll( );
	if( m_pParamDlg && ::IsWindow(m_pParamDlg->GetSafeHwnd()) )
	{
		m_pParamDlg->RefreshData( FALSE );
	}
}
Esempio n. 26
0
BOOL CStkUIApp::OnDBChanged( BOOL bRecalculate )
{
	CWaitCursor	waitcursor;

	// Reload DB
	AfxGetStockContainer().Load( &AfxGetDB(), NULL, NULL );
	AfxGetDomainContainer().Load( AfxGetProfile().GetDomainFile() );
	AfxGetGroupContainer().Load( AfxGetProfile().GetGroupFile() );
	AfxGetDB().LoadKDataCache( AfxGetStockContainer(), NULL, NULL, 0, STKLIB_MAX_PROGRESS );
	AfxGetStockContainer().OnDataChanged( );

	AfxGetStkReceiver().RefreshStockContainer( AfxGetStockContainer(), TRUE );

	// Reload AfxGetStockMain()
	AfxReloadStockMain( );

	// Recalcuate Yield
	if( bRecalculate && IDYES == AfxMessageBox( IDS_INSTALLPAC_IFRECALCULATE, MB_YESNO|MB_ICONINFORMATION ) )
	{
		AfxRecalculateYield( AfxGetProfile().GetYieldAverageDays(), TRUE );
		AfxGetStockContainer().ReloadBase( &AfxGetDB() );
	}

	// Update SListBar
	CMainFrame	* pMainFrame	=	AfxGetMainFrame();
	if( pMainFrame )
	{
		pMainFrame->m_SearchBox.InitStocks( TRUE, TRUE, TRUE );
		pMainFrame->m_SearchBox.SetCurrentWindowText( );
		//pMainFrame->m_DateBox.InitDates( );
		//pMainFrame->m_DateBox.SetCurrentWindowText( );
	}

	// Update Views
	AfxGetSListStockContainer().ReRetrieveFromStatic( AfxGetActiveStrategy(), TRUE );
	AfxGetStaticDoc()->UpdateAllViews( NULL, UPDATE_HINT_SLISTVIEW, NULL );
	AfxGetStaticDoc()->UpdateAllViews( NULL, UPDATE_HINT_GRAPHVIEW, NULL );
	AfxGetStaticDoc()->UpdateAllViews( NULL, UPDATE_HINT_BASEVIEW, NULL );
	AfxGetStaticDoc()->UpdateAllViews( NULL, UPDATE_HINT_SIMUVIEW_REREALRUN, NULL );
	AfxGetStaticDoc()->UpdateAllViews( NULL, UPDATE_HINT_SELECTORVIEW, NULL );
	::PostMessage( AfxGetGroupView()->GetSafeHwnd(), WM_USER_UPDATEGROUPS, 0, 0 );

	return TRUE;
}
Esempio n. 27
0
void CDownloadDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	m_btnCancel.EnableWindow( FALSE );
	AfxGetStkReceiver().RemoveRcvDataWnd( GetSafeHwnd() );

	AfxReleaseDB();
	char	szErr[1024];
	if( !AfxInitializeDB( szErr, sizeof(szErr) ) )	AfxMessageBox( szErr, MB_OK|MB_ICONINFORMATION );

	CDialog::OnCancel( );

	if( m_bDBModified )
	{
		BOOL	bRecalculate	=	FALSE;
		CSPTime	tmLatest	=	0;
		if( ( m_netdb.SetRootPath( AfxGetProfile().GetSelfDBPath(), IStStore::dbtypeSelfDB )
			&& m_netdb.GetTimeLocalRange( &tmLatest, NULL, NULL )
			&& tmLatest.GetTime() > m_tmLatestOld.GetTime() ) )
		{
			bRecalculate	=	TRUE;
		}
		if( m_bAutoRun )
			bRecalculate	=	FALSE;
		AfxGetStkUIApp()->OnDBChanged( FALSE /*bRecalculate*/ );
	}

	if( !m_bAutoRun )
	{
		CNetInfoDlg	dlg;
		dlg.DoModal( );

		if( AfxGetProfile().HasNewVersion()
			&& IDYES == AfxMessageBox( IDS_DOWNLOAD_UPGRADENOW, MB_YESNO ) )
		{
			CUpgradeDlg	dlg;
			dlg.SetAutoRun( TRUE );
			dlg.DoModal();
		}
	}

	CXFDialog::PostNcDestroy();
}
Esempio n. 28
0
int CSListView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CFormView::OnCreate(lpCreateStruct) == -1)
		return -1;

	// Create GridCtrl
	CRect rect;
	GetClientRect(rect);

	if( !m_Grid.Create(rect, this, IDC_SLISTVIEW_GRID, WS_CHILD|WS_BORDER|WS_TABSTOP|WS_VISIBLE|WS_VSCROLL|WS_HSCROLL) )
	{
		TRACE( "CSListView::OnCreate(...), Create m_Grid Error.\n" );
		return -1;
	}

	// fill it up with stuff
	m_Grid.SetEditable(FALSE);
	m_Grid.SetListMode(TRUE);
	m_Grid.SetHeaderSort( FALSE ); 
	m_Grid.SetSingleRowSelection(FALSE);
	m_Grid.EnableDragAndDrop(TRUE);
	m_Grid.SetGridLines( GVL_NONE );
	m_Grid.EnableTitleTips( TRUE );
	m_Grid.SetRowResize( TRUE );
	m_Grid.SetColumnResize( TRUE );

	m_Grid.SetBkColor( AfxGetProfile().GetColor(CColorClass::clrSListBK) );
	m_Grid.SetTextBkColor( AfxGetProfile().GetColor(CColorClass::clrSListBK) );
	m_Grid.SetSelectedBkColor(AfxGetProfile().GetColor(CColorClass::clrSListSelected));

	LOGFONT lf;
	memset( &lf, 0, sizeof(lf) );
	AfxGetProfile().GetFontSListView( &lf );
	SetFont( &lf );

	// 实时行情刷新
	//AfxGetStkReceiver().AddRcvDataWnd( GetSafeHwnd() );

	//SetTimer( SLV_TIMER_REFRESH, 20000, NULL );
	
	return 0;
}
Esempio n. 29
0
HBRUSH CBaseView::CtlColor(CDC* pDC, UINT nCtlColor) 
{
	// TODO: Change any attributes of the DC here
	if( pDC )
	{
		pDC->SetBkColor( AfxGetProfile().GetColor(CColorClass::clrBaseBK) );
		pDC->SetTextColor( AfxGetProfile().GetColor(CColorClass::clrBaseText) );
	}

	static CBrush brushBK;
	static COLORREF	clrBKLast	=	RGB(255,255,255);
	COLORREF	clrBKNow	=	AfxGetProfile().GetColor( CColorClass::clrBaseBK );
	if( NULL == brushBK.GetSafeHandle() || clrBKLast != clrBKNow )
	{
		brushBK.DeleteObject( );
		VERIFY( brushBK.CreateSolidBrush( clrBKNow ) );
	}
	clrBKLast	=	clrBKNow;
	return (HBRUSH)brushBK.GetSafeHandle();
}
Esempio n. 30
0
CSetColumnDlg::CSetColumnDlg(CWnd* pParent /*=NULL*/)
	: CXFDialog(CSetColumnDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSetColumnDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT

	m_nYieldAverageDaysOld	=	AfxGetProfile().GetYieldAverageDays();

	m_bUserIndexModified	=	FALSE;
}