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(); }
BOOL CAlarmResultDlg::OnInitDialog() { CPropertyPageEx::OnInitDialog(); // TODO: Add extra initialization here // TODO: Add extra initialization here m_list.SendMessage( LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP | LVS_EX_FLATSB | LVS_EX_REGIONAL | LVS_EX_INFOTIP | LVS_EX_UNDERLINEHOT ); m_list.EnableToolTips( ); // insert columns { CString strCode = AfxGetVariantName(SLH_CODE,FALSE); CString strDiffPercent = AfxGetVariantName(SLH_DIFFPERCENT,FALSE); CString strReason; strReason.LoadString( IDS_ALARMRESULT_REASON ); m_list.InsertColumn( 0, strCode, LVCFMT_CENTER, 90 ); m_list.InsertColumn( 1, strDiffPercent, LVCFMT_CENTER, 110 ); m_list.InsertColumn( 2, strReason, LVCFMT_CENTER, 220 ); } CAlarmContainer & container = AfxGetAlarmContainer(); for( int nIndex=0; nIndex<container.GetSize(); nIndex++ ) { ALARM & alarm = container.ElementAt(nIndex); CString strCode = alarm.report.m_szCode; CString strDiffPercent = "-"; if( alarm.report.m_fLast > 1e-4 ) strDiffPercent.Format( ".2f", alarm.report.m_fNew/alarm.report.m_fLast-1 ); CString strReason = container.GetDescript( alarm ); int nItem = m_list.InsertItem( nIndex, strCode ); m_list.SetItemText( nItem, 0, strCode ); m_list.SetItemText( nItem, 1, strDiffPercent ); m_list.SetItemText( nItem, 2, strReason ); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CSListView::RemoveSortSign( ) { if( m_nColSort < 0 || m_nColSort >= m_Grid.GetColumnCount() ) return; LPARAM lParam = m_Grid.GetItemData( 0, m_nColSort ); CString strColTitle = AfxGetVariantName(lParam,TRUE); m_Grid.SetItemText( 0, m_nColSort, strColTitle ); m_nColSort = -1; m_bSortAscend = FALSE; }
int CStock::PrepareBaseInfo( BOOL bReload ) { // Load From File PrepareData( CStock::dataBasetext, 0, bReload ); // Save To pText int nTextLen = m_nBaseTextLen; char * pText = NULL; if( m_pBaseText && nTextLen > 0 ) { pText = new CHAR[nTextLen+1]; if( pText ) memcpy( pText, m_pBaseText, nTextLen ); if( pText ) pText[nTextLen] = 0; } int nIntroLen = SLH_MAX * 80; if( !AllocBaseTextMem( nIntroLen + m_nBaseTextLen + 10 ) ) return 0; int nCount = 0; for( int nVariantID = SLH_MIN; nVariantID <= SLH_MAX; nVariantID ++ ) { CSPString strTemp = AfxGetVariantName( nVariantID, TRUE ); strTemp += ": \t"; strTemp += (LPCTSTR)AfxGetVariantDispString( nVariantID, m_stockinfo, NULL ); strTemp += STRING_CRLF; SP_ASSERT( nCount + strTemp.GetLength() < nIntroLen ); if( nCount + strTemp.GetLength() < nIntroLen ) { nCount += strTemp.GetLength(); strcat( m_pBaseText, (LPCTSTR)strTemp ); } } nCount += strlen(STRING_CRLF); strcat( m_pBaseText, STRING_CRLF ); nCount += strlen(STRING_CRLF); strcat( m_pBaseText, STRING_CRLF ); if( pText && nCount + nTextLen < m_nBaseTextLen ) { nCount += nTextLen; strcat( m_pBaseText, pText ); } if( pText ) delete [] pText; return nCount; }
void CSListView::SetSortSign( ) { if( m_nColSort < 0 || m_nColSort >= m_Grid.GetColumnCount() ) return; CString strPrefix, strColTitle; if( m_bSortAscend ) strPrefix.LoadString( IDS_SLISTVIEW_UP ); else strPrefix.LoadString( IDS_SLISTVIEW_DOWN ); LPARAM lParam = m_Grid.GetItemData( 0, m_nColSort ); strColTitle = AfxGetVariantName(lParam,TRUE); strColTitle = strPrefix + strColTitle; m_Grid.SetItemText( 0, m_nColSort, strColTitle ); }
BOOL CFilterInfoDlg::InitListInfo( ) { m_listInfo.ResetContent(); CSPDWordArray & anOrder = AfxGetProfile().GetSListColumnsOrder(); for( int i=0; i<anOrder.GetSize(); i++ ) { UINT nVariantID = anOrder.GetAt(i); if( SLH_CODE == nVariantID || SLH_NAME == nVariantID || SLH_DATE == nVariantID || SLH_REPORTTYPE == nVariantID || SLH_DATE_BEGIN == nVariantID || SLH_TRADE == nVariantID || SLH_PROVINCE == nVariantID ) continue; CString strName = (LPCTSTR)AfxGetVariantName( nVariantID, TRUE ); int nItem = m_listInfo.AddString( strName ); m_listInfo.SetItemData( nItem, nVariantID ); } m_listInfo.SetCurSel( 0 ); return TRUE; }
void CSetColumnDlg::SetListColumnItems( CSPDWordArray & anShow, BOOL bSetDefault ) { m_listColumn.DeleteAllItems( ); CSPDWordArray & anOrder = AfxGetProfile().GetSListColumnsOrder( ); CIndexContainer & acol = AfxGetProfile().GetSListColumnsUser( ); CString strDay; strDay.LoadString( IDS_SLHHDR_DAY ); int nCount = 0; for( int i=0; i<anOrder.GetSize(); i++ ) { // Set Item Text CString strName, strDes; int nItem = -1; UINT nID = anOrder[i]; strName = AfxGetVariantName( nID, FALSE ); if( strName.IsEmpty() ) continue; if( nID >= SLH_USERDEFINE_BEGIN ) strDes.LoadString( IDS_SETCOLUMN_USERDEFINE ); else strDes = (LPCTSTR)AfxGetSLHDescript( nID ); nItem = m_listColumn.InsertItem( nCount, strName, -1 ); m_listColumn.SetItemText( nItem, 1, strDes ); m_listColumn.SetItemData( nItem, nID ); nCount ++; // SetCheck for( int j=0; j<anShow.GetSize(); j++ ) { if( anShow[j] == nID ) { m_listColumn.SetCheck( nItem ); break; } } // Set Column Combo Text CStringArray astr; if( SLH_DIFF == nID || SLH_DIFFPERCENT == nID || SLH_SCOPE == nID || SLH_RATIO_CHANGEHAND == nID || SLH_RATIO_VOLUME == nID || SLH_RS == nID ) { for( int nDays=1; nDays<=STKLIB_DAYS_CALCULATE; nDays ++ ) { CString strTemp; strTemp.Format( "%d%s", nDays, strDay ); astr.Add( strTemp ); } } else if( SLH_ANNGAINS_AVERAGE == nID ) { CString strTemp; strTemp.Format( "%d%s", 20, strDay ); astr.Add( strTemp ); strTemp.Format( "%d%s", 40, strDay ); astr.Add( strTemp ); strTemp.Format( "%d%s", 60, strDay ); astr.Add( strTemp ); strTemp.Format( "%d%s", 120, strDay ); astr.Add( strTemp ); strTemp.Format( "%d%s", STKLIB_DAYS_INONEYEAR, strDay ); astr.Add( strTemp ); strTemp.Format( "%d%s", 2*STKLIB_DAYS_INONEYEAR, strDay ); astr.Add( strTemp ); strTemp.Format( "%d%s", 3*STKLIB_DAYS_INONEYEAR, strDay ); astr.Add( strTemp ); strTemp.Format( "%d%s", 6*STKLIB_DAYS_INONEYEAR, strDay ); astr.Add( strTemp ); strTemp.Format( "%d%s", 10*STKLIB_DAYS_INONEYEAR, strDay ); astr.Add( strTemp ); } if( astr.GetSize() > 0 ) m_listColumn.SetItemStrings( nItem, astr ); // Set Current Parameter CString strParam; if( SLH_DIFF == nID ) { if( bSetDefault ) AfxGetProfile().SetDiffDays( -1 ); strParam.Format( "%d%s", AfxGetProfile().GetDiffDays(), strDay ); } else if( SLH_DIFFPERCENT == nID ) { if( bSetDefault ) AfxGetProfile().SetDiffPercentDays( -1 ); strParam.Format( "%d%s", AfxGetProfile().GetDiffPercentDays(), strDay ); } else if( SLH_SCOPE == nID ) { if( bSetDefault ) AfxGetProfile().SetScopeDays( -1 ); strParam.Format( "%d%s", AfxGetProfile().GetScopeDays(), strDay ); } else if( SLH_RATIO_CHANGEHAND == nID ) { if( bSetDefault ) AfxGetProfile().SetRatioChangeHandDays( -1 ); strParam.Format( "%d%s", AfxGetProfile().GetRatioChangeHandDays(), strDay ); } else if( SLH_RATIO_VOLUME == nID ) { if( bSetDefault ) AfxGetProfile().SetRatioVolumeDays( -1 ); strParam.Format( "%d%s", AfxGetProfile().GetRatioVolumeDays( ), strDay ); } else if( SLH_RS == nID ) { if( bSetDefault ) AfxGetProfile().SetRSDays( -1 ); strParam.Format( "%d%s", AfxGetProfile().GetRSDays( ), strDay ); } else if( SLH_ANNGAINS_AVERAGE == nID ) { if( bSetDefault ) AfxGetProfile().SetYieldAverageDays( -1 ); strParam.Format( "%d%s", AfxGetProfile().GetYieldAverageDays( ), strDay ); } else if( SLH_ANNGAINS_STDDEV == nID || SLH_BETA == nID || SLH_SHARP == nID ) { strParam.LoadString( IDS_SETCOLUMN_SAMEASYIELDAVERAGE ); } if( strParam.GetLength() > 0 ) m_listColumn.SetItemText( nItem, 2, strParam ); } m_listColumn.SetComboBoxColumn( 2 ); m_listColumn.SetItemState( 0, LVIS_SELECTED, LVIS_SELECTED ); }
void CFilterInfoDlg::OnAdd() { UpdateData( ); int nSel = m_listInfo.GetCurSel(); if( LB_ERR == nSel ) { AfxMessageBox( IDS_FILTERINFO_NOSELECTEDINFO, MB_OK|MB_ICONINFORMATION ); return; } if( ( m_strMoreThan.GetLength()<=0 && m_strLessThan.GetLength()<=0 ) || !IsNumber(m_strMoreThan,TRUE) || !IsNumber(m_strLessThan,TRUE) ) { AfxMessageBox( IDS_FILTERINFO_INVALIDCOND, MB_OK|MB_ICONINFORMATION ); return; } UINT nVariantID = m_listInfo.GetItemData(nSel); CString strCond = AfxGetVariantName( nVariantID, TRUE ); CString strME, strAnd, strLE; strME.LoadString( IDS_FILTERINFO_ME ); strAnd.LoadString( IDS_FILTERINFO_AND ); strLE.LoadString( IDS_FILTERINFO_LE ); strCond += "("; if( m_strMoreThan.GetLength() > 0 ) strCond += strME + m_strMoreThan; if( m_strMoreThan.GetLength() > 0 && m_strLessThan.GetLength() > 0 ) strCond += strAnd; if( m_strLessThan.GetLength() > 0 ) strCond += strLE + m_strLessThan; strCond += ")"; for( int i=0; i<m_listCond.GetCount(); i++ ) { FILTERINFO_CONDITION * pCond = (FILTERINFO_CONDITION *)m_listCond.GetItemData(i); if( NULL != pCond ) { if( pCond->nVariantID == nVariantID ) { pCond->bHasMoreThan = ( m_strMoreThan.GetLength()>0 ? TRUE : FALSE ); pCond->bHasLessThan = ( m_strLessThan.GetLength()>0 ? TRUE : FALSE ); pCond->dMoreThan = atof(m_strMoreThan); pCond->dLessThan = atof(m_strLessThan); m_listCond.DeleteString( i ); m_listCond.InsertString( i, strCond ); m_listCond.SetItemData( i, (DWORD)pCond ); m_listCond.SetCurSel( i ); break; } } } if( i == m_listCond.GetCount() ) { FILTERINFO_CONDITION * pCond = new FILTERINFO_CONDITION; if( pCond ) { pCond->nVariantID = nVariantID; pCond->bHasMoreThan = ( m_strMoreThan.GetLength()>0 ? TRUE : FALSE ); pCond->bHasLessThan = ( m_strLessThan.GetLength()>0 ? TRUE : FALSE ); pCond->dMoreThan = atof(m_strMoreThan); pCond->dLessThan = atof(m_strLessThan); int nItem = m_listCond.AddString( strCond ); m_listCond.SetItemData( nItem, (DWORD)pCond ); m_listCond.SetCurSel( nItem ); } } }
void CQuoteTipDlg::OnPaint() { // Do not call CTipDialog::OnPaint() for painting messages // CTipDialog::OnPaint(); CPaintDC dc(this); // device context for painting dc.SetBkMode( TRANSPARENT ); CFont * pOldFont = AfxSelectDCFont(&dc,14); CRect rectAll; GetClientRect( &rectAll ); int nWidthTotal = rectAll.Width(); double o = (nWidthTotal-10) / 26; CRect rect; int x = 5, y = 5; int nCount = 0; CStockContainer & container = AfxGetSListStockContainer(); // Draw Header Title { CString strCode = AfxGetVariantName(SLH_CODE,FALSE); CString strClose = AfxGetVariantName(SLH_CLOSE,FALSE); CString strDiffPercent = AfxGetVariantName(SLH_DIFFPERCENT,FALSE); CString strVolume = AfxGetVariantName(SLH_VOLUME,FALSE); dc.SetTextColor( AfxGetProfile().GetColor(CColorClass::clrTitle) ); rect = CRect(x,y,x+6*o,y+m_nItemHeight-1); dc.DrawText( strCode, rect, DT_VCENTER | DT_CENTER | DT_SINGLELINE | DT_WORD_ELLIPSIS ); rect = CRect(x+6*o,y,x+13*o,y+m_nItemHeight-1); dc.DrawText( strClose, rect, DT_VCENTER | DT_CENTER | DT_SINGLELINE | DT_WORD_ELLIPSIS ); rect = CRect(x+13*o,y,x+19*o,y+m_nItemHeight-1); dc.DrawText( strDiffPercent, rect, DT_VCENTER | DT_CENTER | DT_SINGLELINE | DT_WORD_ELLIPSIS ); rect = CRect(x+19*o,y,rectAll.right-5,y+m_nItemHeight-1); dc.DrawText( strVolume, rect, DT_VCENTER | DT_CENTER | DT_SINGLELINE | DT_WORD_ELLIPSIS ); y += m_nItemHeight; } y += 2; for( int nIndex=m_nIndexStart; nIndex<container.GetSize(); nIndex++ ) { nCount ++; if( nCount > m_nPageCount ) break; CStockInfo & info = container.ElementAt(nIndex); CString strCode = AfxGetVariantDispString(SLH_CODE,info,NULL); CString strClose = AfxGetVariantDispString(SLH_CLOSE,info,NULL); CString strDiffPercent = AfxGetVariantDispString(SLH_DIFFPERCENT,info,NULL); CString strVolume = AfxGetVariantDispString(SLH_VOLUME,info,NULL); rect = CRect(x,y,x+6*o,y+m_nItemHeight-1); dc.SetTextColor( AfxGetVariantColor(SLH_CODE,info) ); dc.DrawText( strCode, rect, DT_VCENTER | DT_RIGHT | DT_SINGLELINE | DT_WORD_ELLIPSIS ); rect = CRect(x+6*o,y,x+13*o,y+m_nItemHeight-1); dc.SetTextColor( AfxGetVariantColor(SLH_CLOSE,info) ); dc.DrawText( strClose, rect, DT_VCENTER | DT_RIGHT | DT_SINGLELINE | DT_WORD_ELLIPSIS ); rect = CRect(x+13*o,y,x+18*o,y+m_nItemHeight-1); dc.SetTextColor( AfxGetVariantColor(SLH_DIFFPERCENT,info) ); dc.DrawText( strDiffPercent, rect, DT_VCENTER | DT_RIGHT | DT_SINGLELINE | DT_WORD_ELLIPSIS ); rect = CRect(x+18*o,y,rectAll.right-10,y+m_nItemHeight-1); dc.SetTextColor( AfxGetVariantColor(SLH_VOLUME,info) ); dc.DrawText( strVolume, rect, DT_VCENTER | DT_RIGHT | DT_SINGLELINE | DT_WORD_ELLIPSIS ); y += m_nItemHeight; } dc.SelectObject(pOldFont); }