BOOL CDlgStrategyParamConf::OnInitDialog() { CDlgBase::OnInitDialog(); //added by hlw 因现在分析周期只支持日线,暂屏蔽其它分析周期 20020614 //#ifdef _ONLY_SUPPORT_DAYLINE // // m_wndPeriod.ResetContent(); // m_wndPeriod.AddString("日线"); // //#endif m_wndPeriod.ResetContent(); AddPeriodNameToWnd(&m_wndPeriod); //end m_EditEidolon.CreateEx(WS_EX_CLIENTEDGE,NULL,NULL,WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, CRect(0,0,0,0),this,1001); m_EditEidolon.SetFont( GetFont() ); CRect rect; CWnd* pWnd = GetDlgItem(IDC_PARAM); pWnd->GetWindowRect(&rect); ScreenToClient(&rect); m_EditEidolon.MoveWindow(rect); CTreeCtrlFormula* pCurTree = m_wndTab.GetTree(); if( pCurTree ) { CDlgFormulaMan* pDlg = (CDlgFormulaMan*)AfxGetMainWnd(); pCurTree->ModifyStyleEx(0,WS_EX_CLIENTEDGE); pCurTree->SetImageList(&CDlgFormulaMan::m_expressImages, TVSIL_NORMAL); pCurTree->m_pFormulaMan = pDlg; if( m_nType == 1 ) // 选择条件 { pDlg->CopyTree(pCurTree); //HTREEITEM hRootItem = pCurTree->InsertItem(CTreeCtrlFormula::g_strUnionCondition, 0, 0); // HTREEITEM hRootItem = pCurTree->InsertItem(CTreeCtrlFormula::g_strJiben, CExpression::Yls_Exp_Condition, CExpression::Yls_Exp_Condition); HTREEITEM hRootItem = pCurTree->InsertItem(CTreeCtrlFormula::g_strJiben, CExpression::Yls_Exp_Condition, CExpression::Yls_Exp_Condition); CTreeGroup* pTreeGroup = new CTreeGroup(hx_OtherData,(DWORD)CExpression::JiBenMian); pCurTree->SetItemData(hRootItem, (DWORD)pTreeGroup); CString strText; BOOL bSet = TRUE; CString strFind; this->SetWindowText(HS_LANGUAGE("选择条件")); switch(m_sSingleSel.m_nType) { case CExpression::JiBenMian: // { if( hRootItem != NULL) { pCurTree->SelectItem(hRootItem); } LoadCurExp(CTreeCtrlFormula::YlsBrowser, (LPARAM)pTreeGroup); strFind = CDlgCondition::GetNameByKey(m_sSingleSel.m_strCondition); } break; case CExpression::Tech: case CExpression::Condition: case CExpression::Exchange: case CExpression::MoreKLine: { CValue* valoare; CExpression* pExpress = NULL; if( CExpression::m_pExternExpression->Lookup( m_sSingleSel.m_strExp, m_sSingleSel.m_nType,valoare ) ) { pExpress = valoare->GetExp(); pCurTree->Show(pExpress,0); LoadCurExp(HX_EXPRESSSENTENCE, (LPARAM)pExpress); } strFind = m_sSingleSel.m_strCondition; } break; default: bSet = FALSE; break; } if( bSet ) { m_wndCon.SelectString(0,strFind); m_wndCompare.SetCurSel(m_sSingleSel.m_SubData.m_cType); OnSelchangeCompare(); strText = hxSubZero(m_sSingleSel.m_SubData.m_dData1); m_wndData1.SetWindowText(strText); strText = hxSubZero(m_sSingleSel.m_SubData.m_dData2); m_wndData2.SetWindowText(strText); int nPos; GetPeriodStr(m_sSingleSel.m_nPeriod,&nPos); m_wndPeriod.SetCurSel(nPos); } } else { if( m_pData != NULL ) { if( m_pData->m_strName != NULL ) { this->SetWindowText(*m_pData->m_strName); } WORD nType = (m_pData->m_wType & 0xF); int nCopy = CTreeCtrlFormula::CopyNone; if( m_pData->m_wType & hxShowByExpressType ) { if( (m_pData->m_wType & 0xF0) == hxShowByExpressType_AddTech ) { nCopy = CTreeCtrlFormula::CopyNotGroup | CTreeCtrlFormula::CopyNone | YLS_EXP_MAINCHART; m_wndTab.DeleteAllItems(); } } if( YLS_EXP_OUTTYPE(m_pData->m_dStyle) ) { nCopy |= CTreeCtrlFormula::CopyNotGroup; } if( nType != 0 ) { CTreeCtrlFormula* pTree; for( int i = 0; i < 4; i++ ) { switch(i) { case 0: nType = ((m_pData->m_wType & 0xF) & CExpression::Tech); break; case 1: nType = ((m_pData->m_wType & 0xF) & CExpression::Condition); break; case 2: nType = ((m_pData->m_wType & 0xF) & CExpression::Exchange); break; case 3: nType = ((m_pData->m_wType & 0xF) & CExpression::MoreKLine); break; } pTree = pDlg->GetCurTree( nType ); pCurTree->CopyTree(pTree,nCopy,m_pData->m_dStyle); } if( m_pData->m_pData != NULL ) { pCurTree->Show((CExpression*)m_pData->m_pData,0); } else { pCurTree->Show(NULL,0); // 显示第一个 /* HTREEITEM hItem = pCurTree->GetRootItem(); if(hItem != NULL) { pCurTree->Expand(hItem,TVE_EXPAND); } */ } //pCurTree->SetFocus(); } else { pDlg->CopyTree(pCurTree,CTreeCtrlFormula::CopyDelete); } } } } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }