/************************************************************************************** 井内道操作 主要函数列表: 1 virtual BOOL InitPropertyGrid(CXTPPropertyGrid& grid); 初始化属性窗口 2 virtual void OnLButtonDown(UINT nFlags, CPoint point); 鼠标操作 3 virtual void OnLButtonUp(UINT nFlags, CPoint point); 4 virtual void OnMouseMove(UINT nFlags, CPoint point); 5 virtual void OnDraw(CXyDC* pXyDC); 绘制辅助手柄 6 virtual BOOL OnGridItemChangeValue(CXTPPropertyGridItem* pItem); 响应属性框改变消息的函数 **************************************************************************************/ #include "StdAfx.h" //#include "CustomItemButton.h" #include "WellPoleDoc.h" #include "WellPoleView.h" #include "WellPoleLib/WellMarkNamesList.h" #include "WellPoleLib/WellBaseObj.h" #include "WellPoleLib/WellClassObjGroup.h" #include "WellPoleLib/InTrackDepthSegment.h" #include "WellPoleLib/InTrackTextBase.h" //#include "WellPoleLib\TrackValidThick.h" #include "WellPoleLib\InTrackTextRange.h" #include "WellPoleLib\InTrackSymbol.h" #include "WellPoleLib\InTrackLith.h" #include "WellPoleLib\InTrackResult.h" #include "WellPoleLib\InTrackOilTest.h" #include "WellPoleLib\InTrackSample.h" #include "WellPoleLib\InTrackShot.h" #include "WellPoleLib\InTrackTestExtraction.h" #include "WellPoleLib\InTrackLayerGroup.h" #include "WellPoleLib\InTrackCoring.h" #include "WellPoleLib\InTrackCoreWell.h" #include "WellPoleLib\InTrackPicture.h" #include "WellPoleLib\InTrackFaultPoint.h" #include "WellPoleLib\TrackObj.h" #include "WellPoleLib\InclinedTrack.h" #include "WellPoleLib\TrackStratum.h" #include "WellPoleLib/TrackCurve.h" #include "WellPoleLib\TrackCorePosition.h" #include "WellPoleLib\TrackDepth.h" #include "WellPoleLib\TrackLith.h" #include "WellPoleLib\TrackOilTest.h" #include "WellPoleLib\TrackBury.h" #include "WellPoleLib\TrackShot.h" #include "WellPoleLib\TrackSample.h" #include "WellPoleLib\TrackText.h" #include "WellPoleLib\TrackPicture.h" #include "WellPoleLib\TrackResult.h" #include "WellPoleLib/TrackGroup.h" #include "WellPoleLib\TrackCoreWell.h" #include "WellPoleLib\TrackSymbol.h" #include "WellPoleLib\TrackTestExtraction.h" #include "WellPoleLib\TrackPicture.h" #include "WellPoleLib/WellPole.h" //#include "DataConfig.h" //#include "PropertyGridItemAdd.h" #include "ItemTrackIn.h" #include "ItemTrack.h" //#include "CustomItemGradientColor.h" //#include "DlgWellDataConfig.h" //#include "GDataIO/GDataBinder/DataBinderWell.h" //#include "GDataIO/GDataBinder/DataBinderBase.h" //#include "DialogCurveReverseRange.h" namespace NItem { // int GetDrawTypeIndex(DWORD dwDrawType) //{ // int nIndex = 0; //波形方式 // switch(dwDrawType) // { // default: // case CSeismicDrawBase::typeWiggle: nIndex = 0; break;//波形曲线显示 // case CSeismicDrawBase::typeRightVa: nIndex = 1; break;//右变面积 // case CSeismicDrawBase::typeLeftVa: nIndex = 2; break;//左变面积 // case CSeismicDrawBase::typeVarDensity: nIndex = 3; break;//变密度显示 // case CSeismicDrawBase::typeVarDensity|CSeismicDrawBase::typeWiggle: nIndex = 4; break;//变密度+波形曲线 // case CSeismicDrawBase::typeVarDensity|CSeismicDrawBase::typeRightVa:nIndex = 5; break;//变密度+右变面积 // case CSeismicDrawBase::typeVarDensity|CSeismicDrawBase::typeLeftVa: nIndex = 6; break;//变密度+左变面积 // } // return nIndex; //} //DWORD GetDrawType(int nIndex) //{ // DWORD dwType = CSeismicDrawBase::typeWiggle; // switch(nIndex) // { // default: // case 0: dwType = CSeismicDrawBase::typeWiggle; break; // case 1: dwType = CSeismicDrawBase::typeRightVa; break; // case 2: dwType = CSeismicDrawBase::typeLeftVa; break; // case 3: dwType = CSeismicDrawBase::typeVarDensity; break; // case 4: dwType = CSeismicDrawBase::typeVarDensity | CSeismicDrawBase::typeWiggle; break; // case 5: dwType = CSeismicDrawBase::typeVarDensity | CSeismicDrawBase::typeRightVa; break; // case 6: dwType = CSeismicDrawBase::typeVarDensity | CSeismicDrawBase::typeLeftVa; break; // } // return dwType; //} CItemTrack::CItemTrack(CSigmaDoc* pDoc) : CItemWellBase(pDoc) ,m_bAddTrackIn(FALSE) { SetType(ITEM_TRACK); m_pTrack = NULL; m_pItemWell = NULL; m_bWellFrame = TRUE; //CMapEditFrame *pParentFrame = (CMapEditFrame*)pWnd->GetMapFrame(); //if(!pParentFrame->IsKindOf(RUNTIME_CLASS(CMapWellFrame))) //{ // m_bWellFrame = FALSE; //} //CMapWellFrame *pFrame = (CMapWellFrame*)pWnd->GetMapFrame(); //for(int ii = 0; ii< pFrame->GetMapFrame2D().m_SplitterWnd.GetSize(); ii++) //{ // m_DcVec.push_back(pFrame->GetMapFrame2D().m_SplitterWnd[ii].pMapWnd2D->GetDC()); // m_WndVec.push_back(pFrame->GetMapFrame2D().m_SplitterWnd[ii].pMapWnd2D); //} } CItemTrack::~CItemTrack(void) { } //void CItemTrack::EnableItemTrackCurveBrush(CXTPPropertyGridItem* pItem, int nTrackCurveBrush) //{ // CXTPPropertyGridItem* pFind = NULL; // switch(nTrackCurveBrush) // { // case 0: //空白 // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEBKCOLOR); // if(pFind) pFind->SetHidden(TRUE); // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILL_SYMBOL); // if(pFind) pFind->SetHidden(TRUE); // pFind=FindItem(pItem, IDS_STRING_EMBELLISH_CURVE_EFFECT); // if(pFind) pFind->SetHidden(TRUE); // pFind=FindItem(pItem, ID_STR_CURVE_HEADFILL_B); // if(pFind) pFind->SetHidden(TRUE); // break; // case 1: //单色 // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEBKCOLOR); // if(pFind) pFind->SetHidden(FALSE); // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILL_SYMBOL); // if(pFind) pFind->SetHidden(TRUE); // pFind=FindItem(pItem, IDS_STRING_EMBELLISH_CURVE_EFFECT); // if(pFind) pFind->SetHidden(TRUE); // pFind=FindItem(pItem, ID_STR_CURVE_HEADFILL_B); // if(pFind) pFind->SetHidden(FALSE); // break; // case 2: //图案 // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEBKCOLOR); // if(pFind) pFind->SetHidden(FALSE); // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILL_SYMBOL); // if(pFind) pFind->SetHidden(FALSE); // pFind=FindItem(pItem, IDS_STRING_EMBELLISH_CURVE_EFFECT); // if(pFind) pFind->SetHidden(TRUE); // pFind=FindItem(pItem, ID_STR_CURVE_HEADFILL_B); // if(pFind) pFind->SetHidden(FALSE); // break; // case 3: //渐变色 // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEBKCOLOR); // if(pFind) pFind->SetHidden(TRUE); // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILL_SYMBOL); // if(pFind) pFind->SetHidden(TRUE); // pFind=FindItem(pItem, IDS_STRING_EMBELLISH_CURVE_EFFECT); // if(pFind) pFind->SetHidden(FALSE); // pFind=FindItem(pItem, ID_STR_CURVE_HEADFILL_B); // if(pFind) pFind->SetHidden(TRUE); // break; // } //} //void CItemTrack::EnableItemTrackCurveFill(CXTPPropertyGridItem* pItem, int nTrackCurveFill) //{ // CXTPPropertyGridItem* pFind = NULL; // switch(nTrackCurveFill) // { // case 0: //左边界 // case 1: //右边界 // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILL); // if(pFind) pFind->SetHidden(FALSE); // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILLB); // if(pFind) pFind->SetHidden(FALSE); // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEVALUE); // if(pFind) pFind->SetHidden(TRUE); // break; // case 2: //左值 // case 3: //右值 // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILL); // if(pFind) pFind->SetHidden(TRUE); // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILLB); // if(pFind) pFind->SetHidden(TRUE); // pFind=FindItem(pItem, IDS_STR_TRACK_CURVEVALUE); // if(pFind) pFind->SetHidden(FALSE); // break; // } //} //BOOL CItemTrack::InitPropertyGrid(CXTPPropertyGrid& grid) //{ // //if (!this->IsEditState()) // // return FALSE; // CWellPole * pWellObj = m_pTrack->GetWell(); // grid.ResetContent(); // CPropertyGridItemAdd ItemAdd(NULL); // CString strFormat; // UINT TrackName = IDS_STR_TRACK_GROUP; // if (m_pTrack->GetTrackType() == Track_Lith) // { // TrackName =IDS_STR_LITHO_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_Depth) // { // TrackName = IDS_STR_DEPTH_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_CorePosition) // { // TrackName = IDS_STR_COREP_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_CoreWell) // { // TrackName = IDS_STR_COREW_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_ValidThick) // { // TrackName = IDS_STR_VALIDTHICK_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_OilTest) // { // TrackName = IDS_STR_OILTEST_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_Result) // { // TrackName = IDS_STR_RESULT_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_Bury) // { // TrackName = IDS_STR_BURY_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_Picture) // { // TrackName = IDS_STR_PICTURE_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_Text) // { // TrackName = IDS_STR_TEXT_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_Symbol) // { // TrackName = IDS_STR_SYMBOLE_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_Sample) // { // TrackName = IDS_STR_SAMPLE_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_Shot) // { // TrackName = IDS_STR_SHOT_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_Curve) // { // TrackName = IDS_STR_CURVE_TRACK_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_Discrete) // { // TrackName = IDS_STR_DISCRETE_TRACK_PROPERTY; // } // //else if (m_pTrack->GetTrackType() == Track_Layer) // //{ // // TrackName = IDS_STR_LAYER_TRACK_PROPERTY; // //} // else if (m_pTrack->GetTrackType() == Track_SandLayer) // { // TrackName = IDS_STR_TRACK_SANDLAYER_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_OilLayerGroup) // { // TrackName = IDS_STR_TRACK_OILLAYER_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_ProduceLayer) // { // TrackName = IDS_STR_TRACK_PRODUCELAYER_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_TestExtraction) // { // TrackName = IDS_STR_TRACK_TESTEXTRACTION_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_ReserveUnit) // { // TrackName = IDS_STR_TRACK_RESERVEUNIT_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_Stratum) // { // TrackName = IDS_STR_TRACK_STRATUM_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_CementingQuality) // { // TrackName = IDS_STR_TRACK_CEMENTQUALITY; // } // else if (m_pTrack->GetTrackType() == Track_CementingQualityCurve) // { // TrackName = IDS_STR_TRACK_CEMENTQUALITYCURVE_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_ProducedFluidSection) // { // TrackName = IDS_STR_TRACK_PRODUCEFLUID_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_WaterAbsorptionSection) // { // TrackName = IDS_STR_TRACK_WATERABSOR_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_StandardLayer) // { // TrackName = IDS_STR_TRACK_STANDARD_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_WaveShape) // { // TrackName = IDS_STR_TRACK_WAVESHAPE_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_FaultPoint) // { // TrackName = IDS_STR_TRACK_FAULTPOINT_PROPERTY; // } // else if (m_pTrack->GetTrackType() == Track_VdlImage) // { // TrackName = IDS_STR_TRACK_VDL; // } // else if (m_pTrack->GetTrackType() == Track_SeisSection) // { // TrackName = IDS_STR_TRACK_SEISSECTION ; // } // CXTPPropertyGridItem *pItem= grid.AddCategory(TrackName); // ItemAdd.SetItem(pItem); // ItemAdd.AddItemString(IDS_STR_TRACK_TITLE, m_pTrack->m_strTitle);//标题 // if(m_pTrack->GetTrackType() != Track_Group && // m_pTrack->GetTrackType() != Track_Curve && // m_pTrack->GetTrackType() != Track_Discrete && // m_pTrack->GetTrackType() != Track_VdlImage && m_pTrack->GetTrackType() != Track_SeisSection) // { // strFormat.Format("%%0.%dlf",2); // ItemAdd.AddItemUnitDouble(IDS_STR_TRACK_WIDTH, CUnit::UNIT_MM, m_pTrack->m_dTrackWidth, strFormat);//道宽(毫米) // ItemAdd.AddItemBool(IDS_STR_TRACK_FILL, m_pTrack->IsFlagBrush());//填充 // ItemAdd.AddItemColor(IDS_STR_TRACK_BGCOLOR, m_pTrack->m_brush.m_color);//背景颜色 // ItemAdd.AddItemFont(IDS_STR_WELL_FONTTRACK, m_pTrack->m_font.m_logFont, m_pTrack->m_font.m_color); // } // //////道数据库配置 // //Db::CSqlStatementManager *pSqlManager = AfxGetGeo()->GetSqlStatementManager(); // //if (pSqlManager->HasDB()) // //{ // // if (m_pTrack->GetTrackType() != Track_Group && // // m_pTrack->GetTrackType() != Track_Depth && // // m_pTrack->GetTrackType() != Track_Curve && // // m_pTrack->GetTrackType() != Track_Discrete && // // m_pTrack->GetTrackType() != Track_Picture && // // m_pTrack->GetTrackType() != Track_VdlImage && m_pTrack->GetTrackType() != Track_SeisSection) // // { // // CCustomItemButton* pItemButton = new CCustomItemButton(IDS_STRING_DB_TABLEFIELD_CONFIG, GetOwner(),m_pTrack->m_strConfigTable);//数据库表名和字段配置 // // pItemButton->SetFlags(xtpGridItemHasExpandButton/*|xtpGridItemHasEdit*/); // // ItemAdd.AddItem(pItemButton); // // } // //} // //////道时深度段配置 // //if (m_pTrack->GetTrackType() == Track_Sample) // //{ // // CCustomItemButton* pItemButton = new CCustomItemButton(IDS_STR_TRACK_CONFIGTOPANDBOT, GetOwner(),m_pTrack->m_strConfigTableOther);//数据库表名和字段配置 // // pItemButton->SetFlags(xtpGridItemHasExpandButton/*|xtpGridItemHasEdit*/); // // ItemAdd.AddItem(pItemButton); // //} // pItem->Expand(); // if (m_pTrack->GetTrackType()==Track_Bury) // { // CTrackBury* TrackBury = (CTrackBury*) m_pTrack; // pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//设置 // ItemAdd.SetItem(pItem); // ItemAdd.AddItemBool(IDS_STR_TRACK_BURYFDEPTH, TrackBury->IsShowDepth());//显示深度值 // ItemAdd.AddItemBool(IDS_STR_TRACK_BURYFVERTICAL, TrackBury->IsDepthVertical());//纵向显示 // pItem->Expand(); // } // else if (m_pTrack->GetTrackType()==Track_CorePosition) // { // CTrackCorePosition* TrackCorePosition = (CTrackCorePosition*)m_pTrack; // pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//设置 // ItemAdd.SetItem(pItem); // ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHSWITCH, TrackCorePosition->IsShowDepth());//显示深度值 // ItemAdd.AddItemBool(IDS_STR_TRACK_LENGTHSWITCH, TrackCorePosition->IsShowLength());//显示长度值 // ItemAdd.AddItemBool(IDS_STR_TRACK_PERCENTSWITCH, TrackCorePosition->IsShowPercent());//显示百分比 // ItemAdd.AddItemFont(IDS_STR_TRACK_COREPOSITIONFONT, TrackCorePosition->m_fontChild.m_logFont,TrackCorePosition->m_fontChild.m_color); //取芯符号内部字体 // ItemAdd.AddItemLine1(IDS_STR_TRACK_COREPOSITIONPEN, TrackCorePosition->m_penChild, &TrackCorePosition->m_penChild, LineType_Curve);//道内对象边框线 // ItemAdd.AddItemColor(IDS_STR_TRACK_COREBGCOLOR,TrackCorePosition->m_brushChild.m_color);// 道内对象背景颜色 // pItem->Expand(); // } // else if (m_pTrack->GetTrackType()==Track_Curve || m_pTrack->GetTrackType()==Track_Discrete) // { // CTrackCurve* TrackCurve = (CTrackCurve*)m_pTrack; // //ItemAdd.AddItemString(IDS_STR_TRACK_CURVENAME, TrackCurve->m_strTrackName); // 曲线名/标识 // CStringArray strCurveNameArr; // CString strTableName; // CString nameField; // if (m_pTrack->GetTrackType()==Track_Curve) // { // strTableName = "well_log"; // nameField = "curve_name"; // } // else if (m_pTrack->GetTrackType()==Track_Discrete) // { // strTableName = "well_discrete"; // nameField = "name"; // } // if(m_pItemWell) // m_pItemWell->GetAllCurveNameInDb(strCurveNameArr,strTableName,nameField); // else // { // CWellPole *pWellObj = TrackCurve->GetWell(); // for(int ii = 0; ii< pWellObj->m_CurveDataVecs.size(); ii++) // { // strCurveNameArr.Add(pWellObj->m_CurveDataVecs[ii]->m_curve_name); // } // } // ItemAdd.AddItemComboEdit(IDS_STR_TRACK_CURVENAME,strCurveNameArr,TrackCurve->m_strTrackName,TRUE); // 曲线名 // CString FormatLeft; // CString FormatRight; // FormatLeft = TrackCurve->FormatValue(TrackCurve->m_curve_left); // FormatRight = TrackCurve->FormatValue(TrackCurve->m_curve_right); // ItemAdd.AddItemString(IDS_STR_TRACK_CURVELVALUE,FormatLeft);// 曲线的左刻 // ItemAdd.AddItemString(IDS_STR_TRACK_CURVERVALUE,FormatRight);// 曲线的右刻 // CStringArray Markstyle; // Markstyle.Add("0.#");Markstyle.Add("0.##");Markstyle.Add("0.###");Markstyle.Add("0.####"); // Markstyle.Add("0.0");Markstyle.Add("0.00");Markstyle.Add("0.000");Markstyle.Add("0.0000"); // CString InitMark; // InitMark = TrackCurve->m_strFormat; // ItemAdd.AddItemCombo(IDS_STR_MARKFORMAT, Markstyle, InitMark);//标注格式 // ItemAdd.AddItemBool(IDS_STR_TRACK_CURVELOG, TrackCurve->IsLog());//对数 // ////文件中的曲线采样间距 // ItemAdd.AddItemUnitDouble(IDS_STR_TRACK_WIDTH, CUnit::UNIT_MM, m_pTrack->m_dTrackWidth, strFormat);//道宽(毫米) // ItemAdd.AddItemFont(IDS_STR_WELL_FONTTRACK, m_pTrack->m_font.m_logFont, m_pTrack->m_font.m_color); // ItemAdd.AddItemBool(IDS_STR_TRACK_CURVEHEADMARK, TrackCurve->IsShowGridHead());//显示头标注 // ItemAdd.AddItemBool(IDS_STR_TRACK_CURVELINESWITCH, TrackCurve->IsShowHeadLine());//显示曲线横线 // CStringArray tmpArr; // CString str; // str.LoadString(IDS_STR_CURVE_NORMAL); tmpArr.Add(str); // str.LoadString(IDS_STR_CURVE_CUT); tmpArr.Add(str); // str.LoadString(IDS_STR_CURVE_REVERSE); tmpArr.Add(str); // if(TrackCurve->GetCurveShowMode() == CurveShow_Cut) // str.LoadString(IDS_STR_CURVE_CUT); // else if(TrackCurve->GetCurveShowMode() == CurveShow_Reverse) // str.LoadString(IDS_STR_CURVE_REVERSE); // else // str.LoadString(IDS_STR_CURVE_NORMAL); // ItemAdd.AddItemCombo(IDS_STR_CURVETRACK_SHOWMODE, tmpArr, str);//标注格式 // //CCustomItemButton* pItemButton = new CCustomItemButton(IDS_REVERSE_SET_VALUERANGE, GetOwner(),""); // //pItemButton->SetFlags(xtpGridItemHasExpandButton/*|xtpGridItemHasEdit*/); // //ItemAdd.AddItem(pItemButton); // //CXTPPropertyGridItem *pParentGridItem; // //pParentGridItem= grid.AddCategory(IDS_REVERSE_VALUE_RANGE); // //AddReverseCurveRangeItem(pParentGridItem,TrackCurve); //添加反卷设置 // //pParentGridItem->Expand(); // pItem= grid.AddCategory(IDS_STR_TRACK_GRID); // ItemAdd.SetItem(pItem); // ItemAdd.AddItemBool(IDS_STR_TRACK_CURVEGRIDX, TrackCurve->IsShowGridX());//显示横网格 // ItemAdd.AddItemBool(IDS_STR_TRACK_CURVEGRIDY, TrackCurve->IsShowGridY());//显示纵网格 // ItemAdd.AddItemLong(IDS_CHART_MSEGMENTNUM, TrackCurve->m_nMajorSpace); //主刻度数 // ItemAdd.AddItemLong(IDS_STR_RULER_MINORMARKNUM, TrackCurve->m_nMinorSpace); //次刻度数 // pItem->Expand(); // pItem= grid.AddCategory(IDS_STR_TRACK_BGFILL); // ItemAdd.SetItem(pItem); // CString fillstyles; // fillstyles.LoadString(IDS_STR_TRACK_CURVE_FILLS); // int nInitfill = -1; // if(TrackCurve->IsFillStyleLeft()) // { // nInitfill = 0; // } // else if(TrackCurve->IsFillStyleRight()) // { // nInitfill = 1; // } // else if(TrackCurve->IsFillStyleLeftV()) // { // nInitfill = 2; // } // else if(TrackCurve->IsFillStyleRightV()) // { // nInitfill = 3; // } // ItemAdd.AddItemCombo(IDS_STR_TRACK_CURVEFILL_MODE, fillstyles, nInitfill);//填充方式 // CString brushmodes; // brushmodes.LoadString(IDS_STR_TRACK_CURVE_MODES); // int nInitbrush = 0; // if (TrackCurve->IsFillBrushColor()) // { // nInitbrush = 1; // } // else if (TrackCurve->IsFillBrushPattern()||TrackCurve->IsFillBrushVector()) // { // nInitbrush = 2; // } // else if (TrackCurve->IsFillBrushGradient()) // { // nInitbrush = 3; // } // ItemAdd.AddItemCombo(IDS_STR_TRACK_CURVEBRUSH_STYLE, brushmodes, nInitbrush);//画刷类型 // ItemAdd.AddItemColor(IDS_STR_TRACK_CURVEBKCOLOR,TrackCurve->m_fillClr);//填充颜色 // ItemAdd.AddItemComboMark(IDS_STR_TRACK_CURVEFILL_SYMBOL, TrackCurve->m_strFillSymbol, MarkFill);//曲线充填符号 // //渐变色充填 // CTrackCurveBase trackcurve; // trackcurve.m_gradientMiddleClr = TrackCurve->m_gradientMiddleClr; // trackcurve.m_gradientLeftClr = TrackCurve->m_gradientLeftClr; // trackcurve.m_gradientRightClr = TrackCurve->m_gradientRightClr; // trackcurve.SetGradientMidClrAuto(TrackCurve->IsGradientMidClrAuto()); // trackcurve.MakeGradientColorBar(); // m_colorBar = trackcurve.m_gradientClrBar; // CCustomItemGradientColor* pItemGradientColor=new CCustomItemGradientColor(IDS_STRING_EMBELLISH_CURVE_EFFECT, &m_colorBar); // pItemGradientColor->m_pTrackCurve = TrackCurve; // pItemGradientColor->m_pDoc = GetDoc(); // pItemGradientColor->EnableWizardMode(FALSE); // ItemAdd.AddItem(pItemGradientColor); // //填充曲线 // CStringArray StrCurveArr; // StrCurveArr.Add(""); // TRACKLIST CurveList,OtherList; // pWellObj->DivideTrack(&CurveList,&OtherList); // TRACKLIST::iterator it = CurveList.begin(); // for(; it!= CurveList.end(); it++) // { // CTrackObj* pTrack = *it; // if(pTrack == TrackCurve) // continue; // if(pTrack->GetTrackType() != TrackCurve->GetTrackType()) //目前内部填充代码只支持,同类曲线间的填充.gf // continue; // StrCurveArr.Add(pTrack->m_strTrackName); // } // CurveList.clear(); // OtherList.clear(); // ItemAdd.AddItemCombo(IDS_STR_TRACK_CURVEFILL, StrCurveArr,TrackCurve->m_strFillSideCurve); // ItemAdd.AddItemBool(IDS_STR_TRACK_CURVEFILLB, TrackCurve->IsShowFillSideCurve());//显示填充曲线 // ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVEVALUE, TrackCurve->m_fFillSideValue, "%3f");//阈值 // ItemAdd.AddItemBool(ID_STR_CURVE_HEADFILL_B,TrackCurve->IsShowHeadFill());//道头是否充填 // //根据填充方式、画刷类型隐藏子项 // EnableItemTrackCurveBrush(pItem, nInitbrush); // EnableItemTrackCurveFill(pItem, nInitfill); // pItem->Expand(); // pItem= grid.AddCategory(IDS_STR_TRACK_CURVE_STYLEFILL); // ItemAdd.SetItem(pItem); // CString styles; // styles.LoadString(IDS_STR_TRACK_CURVE_STYLES); // int nStyle = 0; // if (TrackCurve->IsShowCurve()) // { // nStyle = 1; // } // else if (TrackCurve->IsShowStep()) // { // nStyle = 2; // } // ItemAdd.AddItemCombo(IDS_STR_TRACK_CURVE_STYLE, styles, nStyle);//曲线风格 // ItemAdd.AddItemLine1(IDS_STR_TRACK_CURVETYPE, TrackCurve->m_penCurve, &TrackCurve->m_penCurve,LineType_Curve);//曲线类型 // CString Rodstyles; // Rodstyles.LoadString(IDS_STR_TRACK_CURVE_RODS); // int nRod = 0; // if (TrackCurve->IsShowRod()) // { // nRod = 1; // } // //ItemAdd.AddItemCombo(IDS_STR_TRACK_CURVE_ROD, Rodstyles, nRod);//杆状图 // //ItemAdd.AddItemLine(IDS_STR_TRCAK_CURVE_RODLINE, TrackCurve->m_penRod, &TrackCurve->m_penRod,LineType_Curve);//杆状线类型 // pItem->Expand(); // pItem= grid.AddCategory(IDS_STR_TRACK_DOTSYMBOL); // ItemAdd.SetItem(pItem); // CString Dotstyles; // Dotstyles.LoadString(IDS_STR_TRACK_CURVE_SCATTERS); // int nDot = 0; // if (TrackCurve->IsShowDot()) // { // nDot = 1; // } // ItemAdd.AddItemCombo(IDS_STR_TRACK_CURVE_DOT, Dotstyles, nDot);//散点图 // CString SignInit = TrackCurve->m_strDotSymbol; // ItemAdd.AddItemComboMark(IDS_STR_TRACK_MARK,SignInit,MarkChart);//散点符号 // ItemAdd.AddItemColor(IDS_STR_TRACK_CURVESIGNLINE, TrackCurve->m_dotBorderClr,&TrackCurve->m_dotBorderClr);//曲线点边框颜色 // ItemAdd.AddItemColor(IDS_STR_TRACK_CURVESIGNFILL, TrackCurve->m_dotFillClr,&TrackCurve->m_dotFillClr);//曲线点填充颜色 // ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVESIGNSIZE, TrackCurve->m_dotSize.cx);//曲线符号大小 // } // else if (m_pTrack->GetTrackType()==Track_Depth) // { // CTrackDepth* TrackDepth = (CTrackDepth*)m_pTrack; // pItem=grid.AddCategory(IDS_STR_TRACK_SCALE); // ItemAdd.SetItem(pItem);pItem->Expand(); // //ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHFGRID, TrackDepth->IsShowGrid());//显示所有刻标 // //ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHFGRIDM, TrackDepth->IsShowGridMinor());//显示次刻线 // ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHFMARKLEVEL, TrackDepth->IsMarkLevel());//海拔刻度 // ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHFMARKL, !TrackDepth->IsMarkLeft());//刻度线位置 // ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHFMARKFEET, TrackDepth->IsMarkFeet());//英制单位 // if(pWellObj->GetParent() == NULL)//剖面井时不处理 // { // //主刻度间隔 // CString MajorSpace; // MajorSpace.Format("%.3f", TrackDepth->m_fMajorGrid); // ItemAdd.AddItemString(IDS_STR_WELL_MAJORSPACE,MajorSpace); // //副刻度间隔 // CString MinorSpace; // MinorSpace.Format("%.3f", TrackDepth->m_fMinorGrid); // ItemAdd.AddItemString(IDS_STR_WELL_MINORSPACE, MinorSpace); // } // ItemAdd.AddItemDouble(IDS_STR_DEPTH_MAJORWIDTH,TrackDepth->m_fMajorWidth);//主刻度宽度 // ItemAdd.AddItemDouble(IDS_STR_DEPTH_MINORWIDTH,TrackDepth->m_fMinorWidth);//次刻度宽度 // ItemAdd.AddItemLine1(IDS_STR_DEPTH_MAJORPEN,TrackDepth->m_penGridMajor,&TrackDepth->m_penGridMajor,LineType_Curve);//主刻线 // ItemAdd.AddItemLine1(IDS_STR_DEPTH_MINORPEN,TrackDepth->m_penGridMinor,&TrackDepth->m_penGridMinor,LineType_Curve);//次刻线 // ItemAdd.AddItemFont(IDS_STR_TRACK_DEPTHFONT,TrackDepth->m_fontGridMark.m_logFont,TrackDepth->m_fontGridMark.m_color); //标注字体 // pItem=grid.AddCategory(IDS_STR_TRACK_LABEL); // ItemAdd.SetItem(pItem);pItem->Expand(); // ItemAdd.AddItemBool(IDS_STR_STRACK_DEPTHFMARK, TrackDepth->IsShowMarkUnit());//显示标注单位 // ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHFMARKARR, TrackDepth->IsMarkArrange());//竖直显示标注 // } // else if (m_pTrack->GetTrackType()==Track_Lith) // { // CTrackLith* TrackLith = (CTrackLith*)m_pTrack; // pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET); // ItemAdd.SetItem(pItem); // CStringArray OilGasArr,ColorArr,LithArr; // OilGasArr.Add("0");OilGasArr.Add("10");OilGasArr.Add("15");OilGasArr.Add("20");OilGasArr.Add("25"); // OilGasArr.Add("30");OilGasArr.Add("35");OilGasArr.Add("40");OilGasArr.Add("50");OilGasArr.Add("55");OilGasArr.Add("60"); // OilGasArr.Add("65");OilGasArr.Add("70");OilGasArr.Add("75");OilGasArr.Add("80");OilGasArr.Add("85");OilGasArr.Add("90"); // OilGasArr.Add("95");OilGasArr.Add("100"); // CString OilGasWidth; // OilGasWidth.Format("%d", TrackLith->m_nWidthOil); // ItemAdd.AddItemCombo(IDS_STR_TRACK_OILWIDTH,OilGasArr,OilGasWidth);//油气列宽百分比 // ColorArr.Add("0");ColorArr.Add("10");ColorArr.Add("15");ColorArr.Add("20");ColorArr.Add("25"); // ColorArr.Add("30");ColorArr.Add("35");ColorArr.Add("40");ColorArr.Add("50");ColorArr.Add("55");ColorArr.Add("60"); // ColorArr.Add("65");ColorArr.Add("70");ColorArr.Add("75");ColorArr.Add("80");ColorArr.Add("85");ColorArr.Add("90"); // ColorArr.Add("95");ColorArr.Add("100"); // CString ColorWidth; // ColorWidth.Format("%d", TrackLith->m_nWidthColor); // //ItemAdd.AddItemCombo(IDS_STR_TRACK_COLORWIDTH,ColorArr,ColorWidth);//颜色列宽百分比 // ItemAdd.AddItemUnitDouble(IDS_STR_TRACK_LITHFTHICK, CUnit::UNIT_MM, TrackLith->ScreenCYToHeight(TrackLith->m_nThick), strFormat);//单位符号厚度 // ItemAdd.AddItemBool(IDS_STR_TRACK_LITHFSINGLE, TrackLith->IsSingle());//单个符号 // ItemAdd.AddItemBool(IDS_STR_TRACK_SHOW_LITH, TrackLith->IsShowLith());//是否显示岩性 // ItemAdd.AddItemBool(IDS_STR_TRACK_LITHFCLR, TrackLith->IsShowColor());//是否显示岩性颜色 // //ItemAdd.AddItemBool(IDS_STR_TRACK_LITHFFIT, TrackLith->IsFit());//固定岩性符号大小 // ItemAdd.AddItemBool(IDS_STR_TRACK_LITHFOIL, TrackLith->IsShowOil());//是否绘制含油级别 // ItemAdd.AddItemBool(IDS_STR_TRACK_LITHWIDTH, TrackLith->IsWidth());//是否控制岩性宽度 // ItemAdd.AddItemBool(IDS_STR_TRACK_LITHFRIGHTOIL, TrackLith->IsRightOil());//含油级别显示在道右边 // //ItemAdd.AddItemBool(IDS_STR_TRACK_LITHFINCOIL, TrackLith->IsIncrementOil());//含油级别增宽 // pItem->Expand(); // } // else if (m_pTrack->GetTrackType() == Track_Shot) // { // //CTrackShotObj* TrackShot = (CTrackShotObj*)m_pTrack; // //pItem = grid.AddCategory(IDS_STR_TRACK_LABEL); // //ItemAdd.SetItem(pItem); // //ItemAdd.AddItemBool(IDS_STR_TRACK_SHOTMARK, TrackShot->IsShowMark()); //显示标注 // //ItemAdd.AddItemFont(IDS_STR_TRACK_SHOTMARKFONT, TrackShot->m_fontChild.m_logFont,TrackShot->m_fontChild.m_frColor);//标注字体 // //pItem->Expand(); // } // else if (m_pTrack->GetTrackType() == Track_Sample) // { // CTrackSample* TrackSample = (CTrackSample*) m_pTrack; // pItem = grid.AddCategory(IDS_STR_TRACK_LABEL); // ItemAdd.SetItem(pItem); // ItemAdd.AddItemBool(IDS_STR_TRACK_SAMPLEFMARK, TrackSample->IsShowMark()); //显示标注 // ItemAdd.AddItemBool(IDS_STR_TRACK_SAMPLEFARR, TrackSample->IsMarkArrange());// 竖直标注 // ItemAdd.AddItemFont(IDS_STR_TRACK_SAMPLEMARKFONT, TrackSample->m_fontChild.m_logFont);//标注字体 // ItemAdd.AddItemLine1(IDS_STR_TRACK_SAMPLEMARKPEN, TrackSample->m_penChild, &TrackSample->m_penChild, LineType_Curve);//刻线 // pItem->Expand(); // } // else if (m_pTrack->GetTrackType() == Track_Symbol) // { // CTrackSymbol* TrackSymbol = (CTrackSymbol*) m_pTrack; // pItem = grid.AddCategory(IDS_STR_TRACK_LABEL); // ItemAdd.SetItem(pItem); // ItemAdd.AddItemBool(IDS_STR_TRACK_SYMBOLFMARK, TrackSymbol->IsShowMark()); //显示标注 // ItemAdd.AddItemFont(IDS_STR_TRACK_SYMBOLMARKFONT, TrackSymbol->m_fontChild.m_logFont,TrackSymbol->m_fontChild.m_color);//标注字体 // pItem->Expand(); // } // else if (m_pTrack->GetTrackType() == Track_Picture) // { // CTrackPicture* TrackPicture = (CTrackPicture*) m_pTrack; // //pItem = grid.AddCategory(IDS_STR_TRACK_LABEL); // //ItemAdd.SetItem(pItem); // //ItemAdd.AddItemBool(IDS_STR_TRACK_PICTUREMARK, TrackPicture->IsShowMark()); //显示标注 // //ItemAdd.AddItemFont(IDS_STR_TRACK_PICTUREMARKFONT, TrackPicture->m_fontChild.m_logFont,TrackPicture->m_fontChild.m_frColor);//标注字体 // //pItem->Expand(); // pItem = grid.AddCategory(IDS_STR_TRACK_PICTUREFRAME); // ItemAdd.SetItem(pItem); // ItemAdd.AddItemLine1(IDS_STR_TRACK_PICTUREPENFRAME, TrackPicture->m_penChild, &TrackPicture->m_penChild, LineType_Curve); //边框线 // pItem->Expand(); // } // else if (m_pTrack->GetTrackType() == Track_Result) // { // CTrackResult* TrackResult = (CTrackResult*) m_pTrack; // //CWellSection* pWellSection = (CWellSection*)TrackResult->GetParentObj()->GetParentObj(); // //if (pWellSection != NULL) // //{ // // pItem=grid.AddCategory(IDS_STR_TRACK_SUBOBJECT); // // ItemAdd.SetItem(pItem); // // ItemAdd.AddItemBool(IDS_STR_TRACK_LAYERFCHILDTR, TrackResult->IsChildTrans());//子对象透明 // // ItemAdd.AddItemLine(IDS_STR_TRACK_LAYERPEN, TrackResult->m_penChild, &TrackResult->m_penChild, LineType_Curve);// 符号边框笔 // // pItem->Expand(); // //} // //else // { // CStringArray KindArray,TypeArray; // CString strl1, strl2, strl3, strl4; // strl1 = "1"; strl2 = "2"; strl3 = "3"; strl4 = "4"; // KindArray.Add(strl1); KindArray.Add(strl2); KindArray.Add(strl3); KindArray.Add(strl4); // TypeArray.Add(strl1); TypeArray.Add(strl2); TypeArray.Add(strl3); // pItem=grid.AddCategory(IDS_STR_TRACK_SYMBOLEXP); // ItemAdd.SetItem(pItem); // CString strKind, strType; // strKind.Format("%d",(TrackResult->m_nKind+1)); // strType.Format("%d",(TrackResult->m_nType+1)); // ItemAdd.AddItemCombo(IDS_STR_TRACK_RESULTKIND, KindArray,strKind);//符号画法 // ItemAdd.AddItemCombo(IDS_STR_TRACK_RESULTTYPE, TypeArray,strType);//符号类型 // ItemAdd.AddItemBool(IDS_STR_TRACK_FLAGLEFTALIGN, TrackResult->IsLeftAlign());//左边界对齐 // ItemAdd.AddItemLine1(IDS_STR_TRACK_RESULTPENCHILD, TrackResult->m_penChild, &TrackResult->m_penChild, LineType_Curve);//边框线 // pItem->Expand(); // pItem=grid.AddCategory(IDS_STR_TRACK_LABEL); // ItemAdd.SetItem(pItem); // ItemAdd.AddItemBool(IDS_STR_TRACK_RESULTMARK, TrackResult->IsShowMark());//显示标注 // ItemAdd.AddItemFont(IDS_STR_TRACK_RESULTMARKFONT, TrackResult->m_fontChild.m_logFont,TrackResult->m_fontChild.m_color);//标注字体 // //ItemAdd.AddItemBool(IDS_STR_TRACK_RESULTFARR, TrackResult->IsMarkArrange());//竖直标注 // pItem->Expand(); // } // } // else if (m_pTrack->GetTrackType() == Track_ValidThick) // { // //pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//道内对象设置 // //ItemAdd.SetItem(pItem);pItem->Expand(); // //CTrackValidThickObj* TrackValidThick = (CTrackValidThickObj*) m_pTrack; // //ItemAdd.AddItemColor(IDS_STR_TRACK_VALIDTHICKCOLOR, TrackValidThick->m_fill_color);//填充颜色 // } // else if (m_pTrack->GetTrackType() == Track_CoreWell) // { // pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//道内对象设置 // ItemAdd.SetItem(pItem);pItem->Expand(); // CTrackCoreWell* TrackCoreWell= (CTrackCoreWell*) m_pTrack; // ItemAdd.AddItemFont(IDS_STR_TRACK_COREPOSITIONFONT, TrackCoreWell->m_fontChild.m_logFont,TrackCoreWell->m_fontChild.m_color); //取芯符号内部字体 // ItemAdd.AddItemLine1(IDS_STR_TRACK_COREWELLPENCHILD, TrackCoreWell->m_penChild, &TrackCoreWell->m_penChild,LineType_Curve);// 井壁取芯符号边框笔 // ItemAdd.AddItemBool(IDS_STR_TRACK_COREWELLFLAGCLR, !TrackCoreWell->IsColorFill());//颜色 // ItemAdd.AddItemBool(IDS_STR_TRACK_CORE_TIMES_BOOL, TrackCoreWell->IsTimes());//取芯次数 // ItemAdd.AddItemBool(IDS_STR_TRACK_CORE_LEFTARROW, TrackCoreWell->IsTimes());//左侧取芯 // } // else if (m_pTrack->GetTrackType() == Track_StandardLayer || // m_pTrack->GetTrackType() == Track_FaultPoint) // { // pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//道内对象设置 // ItemAdd.SetItem(pItem);pItem->Expand(); // ItemAdd.AddItemLine1(IDS_STR_TRACK_STRATUM_LINE,m_pTrack->m_penChild,&m_pTrack->m_penChild,LineType_Curve);//边框线 // ItemAdd.AddItemFont(IDS_STR_TRACK_STRATUM_FONT,m_pTrack->m_fontChild.m_logFont,m_pTrack->m_fontChild.m_color);//字体 // } // else if (m_pTrack->GetTrackType() == Track_WaveShape) // { // //CTrackWaveShapeObj* pTrackWaveShape = (CTrackWaveShapeObj*)m_pTrack; // //ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVELVALUE, pTrackWaveShape->m_curve_left);// 曲线的左刻 // //ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVERVALUE, pTrackWaveShape->m_curve_right);// 曲线的右刻 // //ItemAdd.AddItemBool(IDS_STR_TRACK_CURVELOG, pTrackWaveShape->IsLog());//对数 // //pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//道内对象设置 // //ItemAdd.SetItem(pItem);pItem->Expand(); // //ItemAdd.AddItemLine(IDS_STR_TRACK_WAVELINE,pTrackWaveShape->m_penChild,&pTrackWaveShape->m_penChild,LineType_Curve);//边框线 // //ItemAdd.AddItemColor(IDS_STR_TRACK_WAVEBGCOLOR,pTrackWaveShape->m_brushChild.m_color); //背景颜色 // } // else if(m_pTrack->GetTrackType() == Track_VdlImage) // { // //CTrackVdlImage *pTrackVdl = (CTrackVdlImage*)m_pTrack; // //CStringArray strCurveNameArr; // //if(m_pItemWell) // // m_pItemWell->GetWavetraceDataNameFromDb(strCurveNameArr); // //ItemAdd.AddItemComboEdit(IDS_STRING_WAVENAME,strCurveNameArr,pTrackVdl->m_strTrackName,TRUE); // //strFormat.Format("%%0.%dlf",2); // //ItemAdd.AddItemUnitDouble(IDS_STR_TRACK_WIDTH, CUnit::UNIT_MM, m_pTrack->m_dTrackWidth, strFormat);//道宽(毫米) // // // //ItemAdd.AddItemBool(IDS_STRING_REVERSE_COLOR, pTrackVdl->IsReverseColor());//颜色反转 // //ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVELVALUE, pTrackVdl->m_leftValue);// 曲线的左刻 // //ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVERVALUE, pTrackVdl->m_rightValue);// 曲线的右刻 // //m_colorBar =pTrackVdl->GetSeisSection()->GetColorBase(); // //CCustomItemMeshColor* pci=new CCustomItemMeshColor(IDS_GI_COLOR, &m_colorBar, GetWnd()->GetMapCtrl(), TRUE); // //pci->EnableWizardMode(TRUE); // //pci->m_nCreateZMode=1; // //pItem=ItemAdd.AddItem(pci); // //pci->m_pSeisSectionForApply = pTrackVdl->GetSeisSection(); // } // else if(m_pTrack->GetTrackType() == Track_SeisSection) // { // //CTrackSeisSection *pTrackSeis = (CTrackSeisSection*)m_pTrack; // //strFormat.Format("%%0.%dlf",2); // //ItemAdd.AddItemUnitDouble(IDS_STR_TRACK_WIDTH, CUnit::UNIT_MM, m_pTrack->m_dTrackWidth, strFormat);//道宽(毫米) // //ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVELVALUE, pTrackSeis->m_leftValue);// 曲线的左刻 // //ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVERVALUE, pTrackSeis->m_rightValue);// 曲线的右刻 // //ItemAdd.AddItemDouble(IDS_GI_MXN_SWING_SCALE, pTrackSeis->GetSeisSection()->GetLinePar().m_dScaleFactor, strFormat, NULL); // //m_nNormalizeMode = int(pTrackSeis->GetSeisSection()->GetLinePar().m_uniformType); // //ItemAdd.AddItemCombo (IDS_STRING_SEISMIC_NORMALIZE,IDS_STRING_SEISMIC_NORMALIZE_MODE,m_nNormalizeMode,&m_nNormalizeMode); //"曲线方式|右变面积|左变面积|变密度"; // //m_nDrawType = GetDrawTypeIndex(pTrackSeis->GetSeisSection()->GetLinePar().m_dwDrawType); // //ItemAdd.AddItemCombo (IDS_GI_MXN_DISPLAY_IDEA,IDS_GI_MXN_DISPLAY, m_nDrawType, &m_nDrawType); // //m_colorBar =pTrackSeis->GetSeisSection()->GetColorBase(); // //CCustomItemMeshColor* pci=new CCustomItemMeshColor(IDS_GI_COLOR, &m_colorBar, GetWnd()->GetMapCtrl(), TRUE); // //pci->EnableWizardMode(TRUE); // //pci->m_nCreateZMode=1; // //pItem=ItemAdd.AddItem(pci); // //pItem->SetReadOnly(m_nDrawType < 3); // //pci->m_pSeisSectionForApply = pTrackSeis->GetSeisSection(); // //seisfrSolidColor = pTrackSeis->GetSeisSection()->GetLinePar().m_frSolidColor; // //seisfrLineColor = pTrackSeis->GetSeisSection()->GetLinePar().m_frLineColor; // //seisbkColor = pTrackSeis->GetSeisSection()->GetLinePar().m_bkColor; // //pItem=ItemAdd.AddItemColor(IDS_STRING_BACKGROUND_COLOR, seisbkColor,&seisbkColor); pItem->SetReadOnly(m_nDrawType == 3); // //pItem=ItemAdd.AddItemColor(IDS_STRING_SECTION_SOLID_COLOR, seisfrSolidColor,&seisfrSolidColor);pItem->SetReadOnly(m_nDrawType == 3); // //pItem=ItemAdd.AddItemColor(IDS_STRING_SECTION_LINE_COLOR, seisfrLineColor, &seisfrLineColor); pItem->SetReadOnly(m_nDrawType == 3); // } // else if (m_pTrack->GetTrackType() == Track_Stratum || // m_pTrack->GetTrackType() == Track_OilLayerGroup || // m_pTrack->GetTrackType() == Track_SandLayer || // m_pTrack->GetTrackType() == Track_ReserveUnit || // m_pTrack->GetTrackType() == Track_ProduceLayer || // m_pTrack->GetTrackType() == Track_Text || // m_pTrack->GetTrackType()==Track_OilTest || // m_pTrack->GetTrackType() == Track_TestExtraction || // m_pTrack->GetTrackType() == Track_ProducedFluidSection || // m_pTrack->GetTrackType() == Track_WaterAbsorptionSection) // { // pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//道内对象设置 // ItemAdd.SetItem(pItem);pItem->Expand(); // ItemAdd.AddItemLine1(IDS_STR_TRACK_STRATUM_LINE,m_pTrack->m_penChild,&m_pTrack->m_penChild,LineType_Curve);//边框线 // ItemAdd.AddItemColor(IDS_STR_TRACK_STRATUM_BGCOLOR,m_pTrack->m_brushChild.m_color); //背景颜色 // ItemAdd.AddItemFont(IDS_STR_TRACK_STRATUM_FONT,m_pTrack->m_fontChild.m_logFont,m_pTrack->m_fontChild.m_color);//字体 // } // //CItem::InitPropertyGrid(grid); // return TRUE; //} //BOOL CItemTrack::OnGridItemChangeValue(CXTPPropertyGridItem* pItem) //{ // //if (!this->IsEditState()) // // return FALSE; // BOOL bModifyCurve = FALSE; // if (m_pTrack->GetTrackType()==Track_Curve || m_pTrack->GetTrackType()==Track_Discrete) // { // CTrackCurveBase* TrackCurve = (CTrackCurveBase*)m_pTrack; // CWellPole *pWell = m_pTrack->GetWell(); // switch (pItem->GetID()) // { // case IDS_STR_TRACK_CURVENAME://曲线名/标识 // bModifyCurve = TRUE; // break; // } // } // SetReUnDoAction(!bModifyCurve); // switch (pItem->GetID()) // { // case IDS_STR_TRACK_TITLE://标题 // { // //CWellObj *pWell = (CWellObj *)m_pTrack->GetParentObj(); // //CString strTitle = pItem->GetValue(); // //CString strTitleOld = m_pTrack->m_strTitle; // //BOOL bExist = FALSE; // //bExist = pWell->FindTrackTitle(strTitle); // //if (!bExist) // { // m_pTrack->SetTextTitle(pItem->GetValue(), m_pTrack->m_font); // GetDoc()->Invalidate(); // (m_pTrack); // } // //else // //{ // // pItem->SetValue(strTitleOld); // //} // } // break; // case IDS_STR_TRACK_SHOWTITLE://显示标题 // { // m_pTrack->SetShowTitle(((CCustomItemCombo*)pItem)->GetBool()); // if(m_pTrack->GetTrackType() == Track_Curve) // { // CWellPole *pWell = m_pTrack->GetWell(); // pWell->CalculateSize(pWell->GetPos().TopLeft()); // GetDoc()->Invalidate(); // pWell); // } // } // break; // case IDS_STR_TRACK_WIDTH://道宽 // { // m_pTrack->m_dTrackWidth = ((CCustomItemDouble*)pItem)->GetDouble(); // CTrackGroup* pTrackGroup = (CTrackGroup*)m_pTrack->GetParent(); // if(pTrackGroup != NULL) // { // if(pTrackGroup->GetGroupType() == Group_Vertical) // { // TRACKLIST::iterator it = pTrackGroup->GetTrackList().begin(); // for(; it!= pTrackGroup->GetTrackList().end(); it++) // { // (*it)->m_dTrackWidth = m_pTrack->m_dTrackWidth; // } // } // } // CWellPole *pWell = (CWellPole *)m_pTrack->GetWell(); // CRect oldrect = GetDC()->GetScreen(pWell->GetRect()); // pWell->CalculateSize(pWell->GetPos().TopLeft()); // //重新设置道内子对象位置 // pWell->ResetChildPosition(); // //刷新整个井 // CRect newrect = GetDC()->GetScreen(pWell->GetRect()); // CRect rect; // rect.left = min(oldrect.left, newrect.left); // rect.right = max(oldrect.right, newrect.right); // rect.top = min(oldrect.top, newrect.top); // rect.bottom = max(oldrect.bottom, newrect.bottom); // GetDoc()->Invalidate(rect); // } // break; // case IDS_STR_TRACK_FILL://填充 // { // m_pTrack->SetFlagBrush(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_BGCOLOR://背景颜色 // { // m_pTrack->m_brush.m_color = ((CXTPPropertyGridItemColor*)pItem)->GetColor(); // //m_pTrack->SetColor(m_pTrack->m_brush.m_color); // } // break; // case IDS_STR_WELL_FONTTRACK:// 道头字体 // { // ((CXTPPropertyGridItemFont*)pItem)->GetFont(&m_pTrack->m_font.m_logFont); // m_pTrack->m_font.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor(); // ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(m_pTrack->m_font); // } // break; // } // if (m_pTrack->GetTrackType()==Track_Bury) // { // CTrackBury* TrackBury = (CTrackBury*) m_pTrack; // switch (pItem->GetID()) // { // case IDS_STR_TRACK_BURYFDEPTH://显示深度值 // { // TrackBury->SetShowDepth(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_BURYFVERTICAL://纵向深度 // { // TrackBury->SetDepthVertical(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // } // } // else if (m_pTrack->GetTrackType()==Track_CorePosition) // { // CTrackCorePosition* TrackCorePosition = (CTrackCorePosition*)m_pTrack; // switch (pItem->GetID()) // { // case IDS_STR_TRACK_COREPOSITIONFONT://取芯符号内部字体 // { // ((CXTPPropertyGridItemFont*)pItem)->GetFont(&m_pTrack->m_fontChild.m_logFont); // m_pTrack->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor(); // ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(m_pTrack->m_fontChild); // m_pTrack->SetFontChild(m_pTrack->m_fontChild); // } // break; // case IDS_STR_TRACK_COREBGCOLOR:// 取芯符号背景颜色 // { // m_pTrack->m_brushChild.m_color = ((CXTPPropertyGridItemColor*)pItem)->GetColor(); // m_pTrack->SetBrushChild(m_pTrack->m_brushChild); // } // break; // case IDS_STR_TRACK_COREPOSITIONPEN:// 取芯位置符号边框笔 // { // m_pTrack->SetPenChild(m_pTrack->m_penChild); // } // break; // case IDS_STR_TRACK_DEPTHSWITCH:// 显示深度值 // { // TrackCorePosition->SetShowDepth(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_LENGTHSWITCH:// 显示长度值 // { // TrackCorePosition->SetShowLength(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_PERCENTSWITCH:// 显示百分比 // { // TrackCorePosition->SetShowPercent(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // } // } // else if (m_pTrack->GetTrackType()==Track_Curve || m_pTrack->GetTrackType()==Track_Discrete) // { // CTrackCurveBase* TrackCurve = (CTrackCurveBase*)m_pTrack; // CWellPole *pWell = m_pTrack->GetWell(); // switch (pItem->GetID()) // { // case IDS_STR_TRACK_CURVENAME://曲线名/标识 // { // //判断有没有同名的曲线 // CString strTrackName = pItem->GetValue(); // CString strTrackNameOld = TrackCurve->m_strTrackName; // BOOL bExist = FALSE; // bExist = pWell->FindTrackName(strTrackName); // if (bExist) // { // pItem->SetValue(strTrackNameOld); // break; // } // TrackCurve->m_strTrackName = pItem->GetValue(); // TrackCurve->m_strTitle = TrackCurve->m_strTrackName; // //同步修改标题 // //TrackCurve->m_strTitle = TrackCurve->m_strTrackName; // CXTPPropertyGridItem *pItemFind=FindItem(pItem, IDS_STR_TRACK_TITLE); // pItemFind->SetValue(TrackCurve->m_strTrackName); // //同步修改左右刻度 // ReadCurveData(TrackCurve); // CString str; // pItemFind=FindItem(pItem, IDS_STR_TRACK_CURVELVALUE); // str.Format("%g", TrackCurve->m_curve_left); // pItemFind->SetValue(str);pItemFind=FindItem(pItem, IDS_STR_TRACK_CURVERVALUE); // str.Format("%g", TrackCurve->m_curve_right); // pItemFind->SetValue(str); // TrackCurve->ComputePointsInclined(); // } // break; // case IDS_STR_MARKFORMAT://标注格式 // { // CString MarkFormat; // MarkFormat = pItem->GetValue(); // TrackCurve->m_strFormat = MarkFormat; // } // break; // case IDS_STR_TRACK_CURVELVALUE://曲线的左刻 // if (TrackCurve->IsLog() && atof(pItem->GetValue()) <= 0) // { // AfxMessageBox(IDS_STR_LOGCURVE_ERROR); // } // else // { // TrackCurve->m_curve_left = atof(pItem->GetValue()); // } // //if(pWell->GetWellType() == Well_Incline) // TrackCurve->ComputePointsInclined(); // //else // // TrackCurve->ComputePoints(); // break; // case IDS_STR_TRACK_CURVERVALUE://曲线的右刻 // if (TrackCurve->IsLog() && atof(pItem->GetValue()) <= 0) // { // AfxMessageBox(IDS_STR_LOGCURVE_ERROR); // } // else // { // TrackCurve->m_curve_right = atof(pItem->GetValue()); // } // //if(pWell->GetWellType() == Well_Incline) // TrackCurve->ComputePointsInclined(); // //else // // TrackCurve->ComputePoints(); // break; // case IDS_STR_TRACK_CURVELOG://对数 // { // BOOL bOld = TrackCurve->IsLog(); // if (TrackCurve->m_curve_right >0 && TrackCurve->m_curve_left >0) // { // TrackCurve->SetLog(((CCustomItemCombo*)pItem)->GetBool()); // } // else if((TrackCurve->m_curve_right <=0 || TrackCurve->m_curve_left <=0) && ((CCustomItemCombo*)pItem)->GetBool() == TRUE) // { // AfxMessageBox(IDS_STR_LOGCURVE_ERROR); // ((CCustomItemCombo*)pItem)->SelCurSel(0); // } // if(bOld != TrackCurve->IsLog()) // { // CXTPPropertyGrid &grid = GetPropertyGrid(GetDoc()->GetMainFrame()); // CXTPPropertyGridItems *pItems = grid.GetCategories(); // CXTPPropertyGridItem *pGridItem; // CXTPPropertyGridItem *pItem1; // int cateNum = pItems->GetCount(); // int id ; // for(int ii = 0; ii< cateNum; ii++) // { // pGridItem = pItems->GetAt(ii); // id = pGridItem->GetID(); // if(id == IDS_STR_TRACK_GRID) // { // int jj,num1; // num1 = pGridItem->GetChilds()->GetCount(); // for( jj = 0; jjGetChilds()->GetAt(jj); // if(pItem1->GetID() == IDS_CHART_MSEGMENTNUM) // { // if(TrackCurve->IsLog()) // pItem1->SetReadOnly(TRUE); // else // pItem1->SetReadOnly(FALSE); // } // if(pItem1->GetID() == IDS_STR_RULER_MINORMARKNUM) // { // if(TrackCurve->IsLog()) // pItem1->SetReadOnly(TRUE); // else // pItem1->SetReadOnly(FALSE); // } // } // break; // } // } // } // TrackCurve->ComputePointsInclined(); // } // break; // case IDS_STR_WELL_SAMPLEINTERVAL:// 文件中的曲线采样间距 // { // TrackCurve->m_fRlev=atof(pItem->GetValue()); // TrackCurve->ReadCurveData(FALSE); // //if(pWell->GetWellType() == Well_Incline) // TrackCurve->ComputePointsInclined(); // //else // // TrackCurve->ComputePoints(); // //pWell->ComputeSize(pWell->GetPos().TopLeft()); // } // break; // case IDS_STR_TRACK_CURVEHEADMARK://显示头标注 // TrackCurve->SetShowGridHead(((CCustomItemCombo*)pItem)->GetBool()); // break; // case IDS_STR_TRACK_CURVELINESWITCH :// 显示曲线横线 // TrackCurve->SetShowHeadLine(((CCustomItemCombo*)pItem)->GetBool()); // break; // case IDS_STR_TRACK_CURVEGRIDX://显示横网格 // TrackCurve->SetShowGridX(((CCustomItemCombo*)pItem)->GetBool()); // break; // case IDS_STR_TRACK_CURVEGRIDY://显示纵网格 // TrackCurve->SetShowGridY(((CCustomItemCombo*)pItem)->GetBool()); // break; // case IDS_CHART_MSEGMENTNUM: // TrackCurve->m_nMajorSpace = ((CXTPPropertyGridItemNumber*)pItem)->GetNumber(); // break; // case IDS_STR_RULER_MINORMARKNUM: // TrackCurve->m_nMinorSpace = ((CXTPPropertyGridItemNumber*)pItem)->GetNumber(); // break; // case IDS_STR_TRACK_MARK://散点符号 // { // CString strSymbol = pItem->GetValue(); // TrackCurve->m_strDotSymbol=strSymbol; // if(!TrackCurve->m_strDotSymbol.IsEmpty()) // { // CString strMark; // strMark.Format("%s", LIB_MARK_CHART); // strMark = strMark + TrackCurve->m_strDotSymbol; // TrackCurve->m_pMarkChart = (CXy*)AfxGetGlobalWellXy()->FindMark(strMark); // } // } // break; // case IDS_STR_TRACK_CURVE_ROD: //杆状图 // { // CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem; // if (pItemCombo->GetCurSel() == 0) // { // TrackCurve->SetShowRod(FALSE); // } // else // { // TrackCurve->SetShowRod(TRUE); // } // } // break; // case IDS_STR_TRACK_CURVE_DOT: //散点 // { // CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem; // if (pItemCombo->GetCurSel() == 0) // { // TrackCurve->SetShowDot(FALSE); // } // else // { // TrackCurve->SetShowDot(TRUE); // } // } // break; // case IDS_STR_TRACK_CURVEFILL_MODE://充填方式 // { // CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem; // switch(pItemCombo->GetCurSel()) // { // case 0: // TrackCurve->SetFillStyleLeft(TRUE); // break; // case 1: // TrackCurve->SetFillStyleRight(TRUE); // break; // case 2: // TrackCurve->SetFillStyleLeftV(TRUE); // break; // case 3: // TrackCurve->SetFillStyleRightV(TRUE); // break; // } // //根据填充方式隐藏子项 // EnableItemTrackCurveFill(pItem, pItemCombo->GetCurSel()); // } // break; // case IDS_STR_TRACK_CURVEBRUSH_STYLE://画刷类型 // { // CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem; // switch(pItemCombo->GetCurSel()) // { // case 0: // TrackCurve->SetFillBrushColor(FALSE); // TrackCurve->SetFillBrushPattern(FALSE); // TrackCurve->SetFillBrushVector(FALSE); // TrackCurve->SetFillBrushGradient(FALSE); // break; // case 1: // TrackCurve->SetFillBrushColor(TRUE); // break; // case 2: // TrackCurve->SetFillBrushPattern(TRUE); // break; // case 3: // TrackCurve->SetFillBrushGradient(TRUE); // break; // } // //根据画刷类型隐藏子项 // EnableItemTrackCurveBrush(pItem, pItemCombo->GetCurSel()); // } // break; // case IDS_STR_TRACK_CURVE_STYLE://曲线风格 // { // CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem; // if (pItemCombo->GetCurSel() == 0) // { // TrackCurve->SetShowCurve(FALSE); // TrackCurve->SetShowStep(FALSE); // } // else if (pItemCombo->GetCurSel() == 1) // { // TrackCurve->SetShowCurve(TRUE); // TrackCurve->SetShowStep(FALSE); // } // else if(pItemCombo->GetCurSel() == 2) // { // TrackCurve->SetShowCurve(FALSE); // TrackCurve->SetShowStep(TRUE); // } // } // break; // case IDS_STR_TRACK_CURVEFILL://充填曲线 // TrackCurve->m_strFillSideCurve = pItem->GetValue(); // break; // case IDS_STR_TRACK_CURVEFILLB://显示充填曲线 // TrackCurve->SetShowFillSideCurve(((CCustomItemCombo*)pItem)->GetBool()); // break; // case ID_STR_CURVE_HEADFILL_B://道头是否充填 // TrackCurve->SetShowHeadFill(((CCustomItemCombo*)pItem)->GetBool()) ; // break; // case IDS_STR_TRACK_CURVEVALUE://阈值 // TrackCurve->m_fFillSideValue = atof(pItem->GetValue()); // //if(pWell->GetWellType() == Well_Incline) // TrackCurve->ComputePointsInclined(); // //else // // TrackCurve->ComputePoints(); // break; // case IDS_STR_TRACK_CURVEFILL_SYMBOL://曲线充填 // { // TrackCurve->m_strFillSymbol = pItem->GetValue(); // if(!TrackCurve->m_strFillSymbol.IsEmpty()) // { // CString strMark; // strMark.Format("%s", LIB_MARK_FILL); // strMark = strMark + TrackCurve->m_strFillSymbol; // TrackCurve->m_pMarkFill = (CXy*)AfxGetGlobalWellXy()->FindMark(strMark); // } // else // TrackCurve->m_pMarkFill = NULL; // } // break; // case IDS_STR_TRACK_CURVEBKCOLOR://充填颜色 // { // TrackCurve->m_fillClr = ((CXTPPropertyGridItemColor*)pItem)->GetColor(); // } // break; // case IDS_STR_TRACK_CURVESIGNLINE://曲线点边框颜色 // TrackCurve->m_dotBorderClr = ((CXTPPropertyGridItemColor*)pItem)->GetColor(); // break; // case IDS_STR_TRACK_CURVESIGNFILL://曲线点填充颜色 // TrackCurve->m_dotFillClr = ((CXTPPropertyGridItemColor*)pItem)->GetColor(); // break; // case IDS_STR_TRACK_CURVESIGNSIZE://曲线符号大小 // TrackCurve->m_dotSize.cx = atof(pItem->GetValue()); // TrackCurve->m_dotSize.cy = atof(pItem->GetValue()); // break; // case IDS_REVERSE_VALUE_RANGE_NUM: // { // CXTPPropertyGrid &grid = GetPropertyGrid(GetDoc()->GetMainFrame()); // int rangeNum = atol(pItem->GetValue()); // if(rangeNum <0) // rangeNum = 0; // if(rangeNum >10) // rangeNum = 10; // CXTPPropertyGridItems *pItems = grid.GetCategories(); // CXTPPropertyGridItem *pItem1; // int cateNum = pItems->GetCount(); // int id ; // for(int ii = 0; ii< cateNum; ii++) // { // pItem1 = pItems->GetAt(ii); // id = pItem1->GetID(); // if(id == IDS_REVERSE_VALUE_RANGE) // { // int num1 = pItem1->GetChilds()->GetCount(); // if(num1 >rangeNum) // { // for(int jj = num1-1; jj>=rangeNum; jj--) // { // pItem1->GetChilds()->RemoveAt(jj); // } // } // else if(num1 < rangeNum) // { // CPropertyGridItemAdd ItemAdd(NULL); // CXTPPropertyGridItem *pGridItem; // CString str,tmpStr; // str.LoadString(IDS_REVERSE_VALUE_RANGE); // for(int jj = 0; jj< (rangeNum - num1); jj++) // { // tmpStr.Format("%s%d",str,num1+jj+1); // pGridItem = pItem1->AddChildItem(new CXTPPropertyGridItemCategory(tmpStr)); // //pGridItem= grid.AddCategory(tmpStr); // ItemAdd.SetItem(pGridItem); // ItemAdd.AddItemLong(IDS_REVERSE_VALUE_LEFT,1);// 曲线的左刻 // ItemAdd.AddItemLong(IDS_REVERSE_VALUE_RIGHT,2);// 曲线的右刻 // ItemAdd.AddItemColor(IDS_REVERSE_CURVE_LINE,RGB(123,255,255)); // } // } // pItem1->Expand(); // break; // } // } // } // break; // case IDS_STR_CURVETRACK_SHOWMODE: // { // CCustomItemCombo *pCmb = (CCustomItemCombo*)pItem; // ECurveShowMode oldMode = TrackCurve->GetCurveShowMode(); // TrackCurve->SetCurveShowMode((ECurveShowMode)pCmb->GetCurSel()); // if((TrackCurve->GetCurveShowMode() == CurveShow_Cut || oldMode == CurveShow_Cut) // && (TrackCurve->GetCurveShowMode() != oldMode)) // { // CWellPole *pWell = (CWellPole*)TrackCurve->GetWell(); // TrackCurve->ComputePointsInclined(); // } // } // break; // } // } // else if (m_pTrack->GetTrackType()==Track_Depth) // { // CTrackDepth* TrackDepth = (CTrackDepth*)m_pTrack; // switch (pItem->GetID()) // { // case IDS_STR_WELL_MAJORSPACE:// 主深度标注间隔 // { // TrackDepth->m_fMajorGrid=atof(pItem->GetValue()); // TrackDepth->SetSpace(TrackDepth->m_fMajorGrid, TrackDepth->m_fMinorGrid); // } // break; // case IDS_STR_WELL_MINORSPACE:// 副深度标注间隔 // { // TrackDepth->m_fMinorGrid=atof(pItem->GetValue()); // TrackDepth->SetSpace(TrackDepth->m_fMajorGrid, TrackDepth->m_fMinorGrid); // } // break; // case IDS_STR_TRACK_DEPTHFGRID://显示所有刻线 // { // TrackDepth->SetShowGrid(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_DEPTHFGRIDM://显示次刻线 // { // TrackDepth->SetShowGridMinor(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_DEPTHFMARKLEVEL://海拔刻度 // { // TrackDepth->SetMarkLevel(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_DEPTHFONT://标注字体 // { // ((CXTPPropertyGridItemFont*)pItem)->GetFont(&TrackDepth->m_fontGridMark.m_logFont); // TrackDepth->m_fontGridMark.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor(); // ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(TrackDepth->m_fontGridMark); // TrackDepth->SetFontGridMark(TrackDepth->m_fontGridMark); // CWellPole* pWellObj = (CWellPole*)TrackDepth->GetParent(); // pWellObj->m_fontGridMark = TrackDepth->m_fontGridMark; // } // break; // case IDS_STR_DEPTH_MAJORWIDTH://主刻度宽度 // { // double dWidth; // dWidth = atof(pItem->GetValue()); // if (dWidth>=0 && dWidth<=100) // { // TrackDepth->m_fMajorWidth = dWidth; // } // else if (dWidth > 100) // { // TrackDepth->m_fMajorWidth = 100; // } // else // { // TrackDepth->m_fMajorWidth = 0; // } // } // break; // case IDS_STR_DEPTH_MINORWIDTH://次刻度宽度 // { // double dWidth; // dWidth = atof(pItem->GetValue()); // if (dWidth>=0 && dWidth<=100) // { // TrackDepth->m_fMinorWidth = dWidth; // } // else if (dWidth > 100) // { // TrackDepth->m_fMinorWidth = 100; // } // else // { // TrackDepth->m_fMinorWidth = 0; // } // } // break; // case IDS_STR_STRACK_DEPTHFMARK://显示标注单位 // { // TrackDepth->SetShowMarkUnit(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_DEPTHFMARKARR://竖直显示标注 // { // TrackDepth->SetMarkArrange(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_DEPTHFMARKL://标注位置 // { // TrackDepth->SetMarkLeft(!((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_DEPTHFMARKFEET://英制单位 // { // TrackDepth->SetMarkFeet(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // } // TrackDepth->CalcBorders(); // } // else if (m_pTrack->GetTrackType()==Track_Facies) // { // } // else if (m_pTrack->GetTrackType()==Track_Lith) // { // CTrackLith* TrackLith = (CTrackLith*)m_pTrack; // switch (pItem->GetID()) // { // case IDS_STR_TRACK_LITHFWIDTH://岩性符号宽度百分比 // { // TrackLith->m_nWidthLitho = atoi(pItem->GetValue()); // } // break; // case IDS_STR_TRACK_OILWIDTH://油气宽度百分比 // { // TrackLith->m_nWidthOil = atoi(pItem->GetValue()); // } // break; // case IDS_STR_TRACK_LITHWIDTHPERCENT://岩性宽度百分比 // { // TrackLith->m_nWidthLitho = atoi(pItem->GetValue()); // } // break; // case IDS_STR_TRACK_COLORWIDTH://颜色宽度百分比 // { // TrackLith->m_nWidthColor = atoi(pItem->GetValue()); // } // break; // case IDS_STR_TRACK_LITHFTHICK://单位符号厚度 // { // TrackLith->m_nThick = int(TrackLith->HeightToScreenCY(atoi(pItem->GetValue()))); // } // break; // case IDS_STR_TRACK_LITHFCLR://符号颜色 // { // TrackLith->SetShowColor(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_LITHFSINGLE://单个符号 // { // TrackLith->SetSingle(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_LITHFFIT://固定岩性符号大小 // { // TrackLith->SetFit(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_SHOW_LITH://是否显示岩性 // { // TrackLith->SetShowLith(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_LITHFOIL://绘制含油级别 // { // TrackLith->SetShowOil(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_LITHWIDTH://控制岩性宽度 // { // TrackLith->SetWidth(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_LITHFRIGHTOIL://含油级别显示在道右边 // { // TrackLith->SetRightOil(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_LITHFINCOIL://含油级别增宽 // { // TrackLith->SetIncrementOil(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // } // } // else if (m_pTrack->GetTrackType() == Track_Shot) // { // CTrackShot* TrackShot = (CTrackShot*)m_pTrack; // switch (pItem->GetID()) // { // case IDS_STR_TRACK_SHOTMARK://显示标注 // { // TrackShot->SetShowMark(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_SHOTMARKFONT://标注字体 // { // ((CXTPPropertyGridItemFont*)pItem)->GetFont(&TrackShot->m_fontChild.m_logFont); // TrackShot->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor(); // ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(TrackShot->m_fontChild); // TrackShot->SetFontChild(TrackShot->m_fontChild); // } // break; // } // } // else if (m_pTrack->GetTrackType() == Track_Sample) // { // CTrackSample* TrackSample = (CTrackSample*) m_pTrack; // switch (pItem->GetID()) // { // case IDS_STR_TRACK_SAMPLEFMARK://显示标注 // { // TrackSample->SetShowMark(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_SAMPLEFARR://竖直标注 // { // TrackSample->SetMarkArrange(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_SAMPLEMARKFONT://标注字体 // { // ((CXTPPropertyGridItemFont*)pItem)->GetFont(&TrackSample->m_fontChild.m_logFont); // TrackSample->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor(); // ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(TrackSample->m_fontChild); // TrackSample->SetFontChild(TrackSample->m_fontChild); // } // break; // case IDS_STR_TRACK_SAMPLEMARKPEN://刻线笔 // { // WELLOBJLIST::iterator it = TrackSample->GetChildren().begin(); // for (; it != TrackSample->GetChildren().end(); it++) // { // CWellBaseObj* pObj = *it; // if (pObj->GetType() == KEP_SAMPLE) // { // CInTrackSample* pTrackInSample = (CInTrackSample*)pObj; // pTrackInSample->m_pen = TrackSample->m_penChild; // } // } // } // break; // } // } // else if (m_pTrack->GetTrackType() == Track_Symbol) // { // CTrackSymbol* TrackSymbol = (CTrackSymbol*) m_pTrack; // switch (pItem->GetID()) // { // case IDS_STR_TRACK_SYMBOLFMARK://显示标注 // { // TrackSymbol->SetShowMark(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_SYMBOLMARKFONT://标注字体 // { // ((CXTPPropertyGridItemFont*)pItem)->GetFont(&TrackSymbol->m_fontChild.m_logFont); // TrackSymbol->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor(); // ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(TrackSymbol->m_fontChild); // TrackSymbol->SetFontChild(TrackSymbol->m_fontChild); // } // break; // } // } // else if (m_pTrack->GetTrackType() == Track_Picture) // { // CTrackPicture* TrackPicture = (CTrackPicture*) m_pTrack; // switch (pItem->GetID()) // { // case IDS_STR_TRACK_PICTUREMARK://显示标注 // { // TrackPicture->SetShowMark(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_PICTUREMARKFONT://标注字体 // { // ((CXTPPropertyGridItemFont*)pItem)->GetFont(&TrackPicture->m_fontChild.m_logFont); // TrackPicture->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor(); // ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(TrackPicture->m_fontChild); // TrackPicture->SetFontChild(TrackPicture->m_fontChild); // } // break; // case IDS_STR_TRACK_PICTUREPENFRAME://框线 // { // WELLOBJLIST::iterator it = TrackPicture->GetChildren().begin(); // for(; it!= TrackPicture->GetChildren().end(); it++) // { // CWellBaseObj* pObj = *it; // if (pObj->GetType() == KEP_IMAGE) // { // CInTrackPicture* pTrackInPicture = (CInTrackPicture*)pObj; // pTrackInPicture->m_pen = TrackPicture->m_penChild; // } // } // } // break; // } // } // else if (m_pTrack->GetTrackType() == Track_Result) // { // CTrackResult* TrackResult = (CTrackResult*) m_pTrack; // switch (pItem->GetID()) // { // case IDS_STR_TRACK_LAYERFCHILDTR://子对象透明 // { // TrackResult->SetChildTrans(((CCustomItemCombo*)pItem)->GetBool()); // } // case IDS_STR_TRACK_RESULTKIND://画法 // { // CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem; // TrackResult->m_nKind = pItemCombo->GetCurSel(); // } // break; // case IDS_STR_TRACK_RESULTTYPE://类型 // { // CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem; // TrackResult->m_nType = pItemCombo->GetCurSel(); // if(AfxGetGlobalWellXy()) // { // CString strMark; // WELLOBJLIST::iterator it = TrackResult->GetChildren().begin(); // for(; it != TrackResult->GetChildren().end(); it++) // { // CWellBaseObj* pObj = *it; // if(pObj->GetType()==KEP_RESULT) // { // CInTrackResult* pResult = (CInTrackResult*)pObj; // strMark = pResult->GetMarkSymbol(); // pResult->m_pMarkSymbol = (CXy*)AfxGetGlobalWellXy()->FindMark(strMark); // } // } // } // } // break; // case IDS_STR_TRACK_FLAGLEFTALIGN://左边界对齐 // { // TrackResult->SetLeftAlign(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_RESULTMARK://显示标注 // { // TrackResult->SetShowMark(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_RESULTMARKFONT://标注字体 // { // ((CXTPPropertyGridItemFont*)pItem)->GetFont(&TrackResult->m_fontChild.m_logFont); // TrackResult->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor(); // ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(TrackResult->m_fontChild); // TrackResult->SetFontChild(TrackResult->m_fontChild); // } // break; // case IDS_STR_TRACK_RESULTFARR://竖直标注 // { // TrackResult->SetMarkArrange(((CCustomItemCombo*)pItem)->GetBool()); // break; // } // case IDS_STR_TRACK_RESULTPENCHILD://边框线 // { // //CInTrackResult* pTrackInResult = (CInTrackResult*)m_pTrackIn; // //CTrackResult* pTrackResultObj = (CTrackResult*)pTrackInResult->GetParent(); // //pTrackResultObj->m_penChild = pTrackInResult->m_pen; // WELLOBJLIST::iterator it = TrackResult->GetChildren().begin(); // for (; it != TrackResult->GetChildren().end(); it++) // { // CWellBaseObj* pObj = *it; // // if (pObj->GetType() == KEP_RESULT) // { // CInTrackResult* pTrackIn = (CInTrackResult*)pObj; // pTrackIn->m_pen = TrackResult->m_penChild; // } // } // GetDoc()->Invalidate(); // break; // } // } // } // else if (m_pTrack->GetTrackType() == Track_ValidThick) // { // //CTrackValidThick* TrackValidThick = (CTrackValidThick*) m_pTrack; // //switch (pItem->GetID()) // //{ // //case IDS_STR_TRACK_VALIDTHICKCOLOR://填充颜色 // // { // // TrackValidThick->m_fill_color = ((CXTPPropertyGridItemColor*)pItem)->GetColor(); // // TrackValidThick->SetColor(TrackValidThick->m_fill_color); // // } // // break; // //} // } // else if (m_pTrack->GetTrackType() == Track_CoreWell) // { // CTrackCoreWell* TrackCoreWell= (CTrackCoreWell*) m_pTrack; // switch (pItem->GetID()) // { // case IDS_STR_TRACK_COREWELLPENCHILD:// 井壁取芯符号边框笔 // { // TrackCoreWell->SetPenChild(TrackCoreWell->m_penChild); // } // break; // case IDS_STR_TRACK_COREWELLFLAGCLR://取芯符号填充 // { // TrackCoreWell->EnableColorFill(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_CORE_TIMES_BOOL://取芯次数 // { // TrackCoreWell->EnableTimes(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // case IDS_STR_TRACK_CORE_LEFTARROW://左侧取芯 // { // TrackCoreWell->EnableLeftArrow(((CCustomItemCombo*)pItem)->GetBool()); // } // break; // } // } // else if (m_pTrack->GetTrackType() == Track_WaveShape) // { // //CTrackWaveShapeObj* pTrackWaveShape = (CTrackWaveShapeObj*)m_pTrack; // //switch (pItem->GetID()) // //{ // //case IDS_STR_TRACK_CURVELVALUE://曲线的左刻 // // if (pTrackWaveShape->IsLog() == TRUE && atof(pItem->GetValue()) <= 0) // // { // // AfxMessageBox(IDS_STR_LOGCURVE_ERROR); // // } // // else // // { // // pTrackWaveShape->m_curve_left = atof(pItem->GetValue()); // // } // // break; // //case IDS_STR_TRACK_CURVERVALUE://曲线的右刻 // // if (pTrackWaveShape->IsLog() == TRUE && atof(pItem->GetValue()) <= 0) // // { // // AfxMessageBox(IDS_STR_LOGCURVE_ERROR); // // } // // else // // { // // pTrackWaveShape->m_curve_right = atof(pItem->GetValue()); // // } // // break; // //case IDS_STR_TRACK_CURVELOG://对数 // // if (pTrackWaveShape->m_curve_right >0 && pTrackWaveShape->m_curve_left >0) // // { // // pTrackWaveShape->SetLog(((CCustomItemCombo*)pItem)->GetBool()); // // POSITION pos = pTrackWaveShape->GetChildObjList().GetHeadPosition(); // // while(pos != NULL) // // { // // CObjectBase* pObj = pTrackWaveShape->GetChildObjList().GetNext(pos); // // if (pObj->GetType() == KEP_WAVESHAPE) // // { // // CInTrackWaveShape* pTrackInWaveShape = (CInTrackWaveShape*)pObj; // // pTrackInWaveShape->m_bLog = pTrackWaveShape->IsLog(); // // } // // } // // } // // else if((pTrackWaveShape->m_curve_right <=0 || pTrackWaveShape->m_curve_left <=0) && ((CCustomItemCombo*)pItem)->GetBool() == TRUE) // // { // // AfxMessageBox(IDS_STR_LOGCURVE_ERROR); // // ((CCustomItemCombo*)pItem)->SetCurSel(0); // // } // // break; // //case IDS_STR_TRACK_WAVELINE://边框线 // // { // // m_pTrack->SetPenChild(m_pTrack->m_penChild); // // } // // break; // //case IDS_STR_TRACK_WAVEBGCOLOR://背景颜色 // // { // // m_pTrack->m_brush.m_color = ((CXTPPropertyGridItemColor*)pItem)->GetColor(); // // m_pTrack->SetColor(m_pTrack->m_brush.m_color); // // } // // break; // //} // } // else if(m_pTrack->GetTrackType() == Track_VdlImage) // { // //CTrackVdlImage* pTrackVdl = (CTrackVdlImage*)m_pTrack; // //switch (pItem->GetID()) // //{ // //case IDS_STR_TRACK_CURVELVALUE://曲线的左刻 // // pTrackVdl->m_leftValue = atof(pItem->GetValue()); // // pTrackVdl->SetLeftRightValue(pTrackVdl->m_leftValue,pTrackVdl->m_rightValue); // // break; // //case IDS_STR_TRACK_CURVERVALUE://曲线的右刻 // // pTrackVdl->m_rightValue = atof(pItem->GetValue()); // // pTrackVdl->SetLeftRightValue(pTrackVdl->m_leftValue,pTrackVdl->m_rightValue); // // break; // //case IDS_GI_COLOR: // // pTrackVdl->GetSeisSection()->SetColorBase(m_colorBar); // // break; // //case IDS_STRING_MAXIMAL: // // pTrackVdl->GetColorRuler()->zmax=((CXTPPropertyGridItemDouble*)pItem)->GetDouble(); // // break; // //case IDS_STRING_MINIMUM: // // pTrackVdl->GetColorRuler()->zmin=((CXTPPropertyGridItemDouble*)pItem)->GetDouble(); // // break; // //case IDS_MESH_RULER_MARK_NUM: // // pTrackVdl->GetColorRuler()->num=atol(pItem->GetValue()); // // break; // //case IDS_STRING_REVERSE_COLOR: // // pTrackVdl->EnableReverseColor(((CCustomItemCombo*)pItem)->GetBool()); // // break; // //case IDS_STRING_WAVENAME: // // { // // CString strnewname = pItem->GetValue(); // // ReadWavetraceData(pTrackVdl,strnewname); // // CString str; // // CXTPPropertyGridItem *pItemFind=FindItem(pItem, IDS_STR_TRACK_TITLE); // // pItemFind->SetValue(pTrackVdl->m_strTrackName); // // pItemFind=FindItem(pItem, IDS_STR_TRACK_CURVELVALUE); // // str.Format("%g", pTrackVdl->m_leftValue); // // pItemFind->SetValue(str);pItemFind=FindItem(pItem, IDS_STR_TRACK_CURVERVALUE); // // str.Format("%g", pTrackVdl->m_rightValue); // // pItemFind->SetValue(str); // // break; // // } // //default: // // break; // //} // } // else if(m_pTrack->GetTrackType() == Track_SeisSection) // { // //CTrackSeisSection* pTrackSeis = (CTrackSeisSection*)m_pTrack; // //switch (pItem->GetID()) // //{ // //case IDS_STR_TRACK_CURVELVALUE://曲线的左刻 // // pTrackSeis->m_leftValue = atof(pItem->GetValue()); // // pTrackSeis->SetLeftRightValue(pTrackSeis->m_leftValue,pTrackSeis->m_rightValue); // // break; // //case IDS_STR_TRACK_CURVERVALUE://曲线的右刻 // // pTrackSeis->m_rightValue = atof(pItem->GetValue()); // // pTrackSeis->SetLeftRightValue(pTrackSeis->m_leftValue,pTrackSeis->m_rightValue); // // break; // //case IDS_GI_COLOR: // // pTrackSeis->GetSeisSection()->SetColorBase(m_colorBar); // // break; // //case IDS_GI_MXN_SWING_SCALE: // // pTrackSeis->GetSeisSection()->GetLinePar().m_dScaleFactor=((CXTPPropertyGridItemDouble*)pItem)->GetDouble(); // // break; // //case IDS_STRING_SEISMIC_NORMALIZE: // // pTrackSeis->GetSeisSection()->GetLinePar().m_uniformType = (EUniformType)m_nNormalizeMode; // // break; // //case IDS_STRING_BACKGROUND_COLOR: // // pTrackSeis->GetSeisSection()->GetLinePar().m_bkColor=seisbkColor; // // break; // //case IDS_STRING_SECTION_SOLID_COLOR: // // pTrackSeis->GetSeisSection()->GetLinePar().m_frSolidColor=seisfrSolidColor; // // break; // //case IDS_STRING_SECTION_LINE_COLOR: // // pTrackSeis->GetSeisSection()->GetLinePar().m_frLineColor=seisfrLineColor; // // break; // //case IDS_GI_MXN_DISPLAY_IDEA: // // pTrackSeis->GetSeisSection()->GetLinePar().m_dwDrawType = GetDrawType(m_nDrawType);//(CSeisLinePar::EDrawType)((CCustomItemCombo*)pItem)->GetCurSel(); // // { // // bool bIsVarDensity = m_nDrawType == 3 ? true:false; //是否是变密度显示 // // CXTPPropertyGridItem* pFind=this->FindItem(pItem, IDS_GI_COLOR); // // if(pFind) pFind->SetReadOnly(!bIsVarDensity); // // pFind=this->FindItem(pItem, IDS_STRING_SECTION_SOLID_COLOR); // // if(pFind) pFind->SetReadOnly(bIsVarDensity); // // pFind=this->FindItem(pItem, IDS_STRING_SECTION_LINE_COLOR); // // if(pFind) pFind->SetReadOnly(bIsVarDensity); // // } // // break; // //default: // // break; // //} // } // else // { // switch (pItem->GetID()) // { // case IDS_STR_TRACK_STRATUM_LINE: //边框线 // { // m_pTrack->SetPenChild(m_pTrack->m_penChild); // } // break; // case IDS_STR_TRACK_STRATUM_BGCOLOR: //背景颜色 // { // m_pTrack->m_brushChild.m_color = ((CXTPPropertyGridItemColor*)pItem)->GetColor(); // m_pTrack->SetBrushChild(m_pTrack->m_brushChild); // } // break; // case IDS_STR_TRACK_STRATUM_FONT://字体 // { // ((CXTPPropertyGridItemFont*)pItem)->GetFont(&m_pTrack->m_fontChild.m_logFont); // m_pTrack->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor(); // ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(m_pTrack->m_fontChild); // m_pTrack->SetFontChild(m_pTrack->m_fontChild); // } // break; // } // } // CWellPole *pWellObj = m_pTrack->GetWell(); // if(pWellObj->GetWellType() == Well_Incline)//如果是斜井就刷全图 // { // GetDoc()->Invalidate(); //pWellObj); // } // else // GetDoc()->Invalidate();// m_pTrack); // // return FALSE; //} void CItemTrack::OnDraw(CXyDC* pXyDC, CDC* pDC) { CSigmaView* pView = GetView(); //pDC = pView->m_pImgDC; //if (this->m_bLDown && pView->GetScreenDC() != NULL) //{ // pDC = pView->GetScreenDC(); // pXyDC->GetDC(); // TRACE("use track draw screendc --------------\r\n"); //} //CDC *pDC = GetDC()->GetDC(); CPen pen(PS_DOT, 0, RGB(0, 0, 0)); CPen *pOldPen = (CPen *)pDC->SelectObject(&pen); int old = pDC->SetROP2(R2_NOTXORPEN); if (m_bLDown) { CRect rect; rect.top = m_firstPoint.y; rect.bottom = m_lastPoint.y; rect.left = pXyDC->GetScreen(m_pTrack->GetPos()).left; rect.right = pXyDC->GetScreen(m_pTrack->GetPos()).right; if(rect.Height() == 0) { pDC->MoveTo(rect.left, rect.top); pDC->LineTo(rect.right, rect.top); } else pDC->Rectangle(rect); } pDC->SelectObject(pOldPen); pen.DeleteObject(); pDC->SetROP2(old); } void CItemTrack::OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point, int vk) { m_bLDown = TRUE; m_bAddTrackIn = FALSE; CPoint2D ptReal = GetDC()->GetReal(point); m_downPoint = m_firstPoint = m_lastPoint = point; //绘制十字线时,需要全图绘制可以去掉因为重复绘制导致的十字线错误,当不要十字线时直线 OnDraw效率高 //if (::GetPreferences().WorkaroundDisplay.m_bViewCrossLine) // GetDoc()->Invalidate(); //else OnDraw(GetDC(),pDC); //GetView()->SetCapture(); //CXTPPropertyGrid &grid = GetPropertyGrid(GetDoc()->GetMainFrame()); //InitPropertyGrid(grid); } void CItemTrack::OnLButtonUp(CDC *pDC, UINT nFlags, CPoint point, int vk) { ReleaseCapture(); m_lastPoint = point; CPoint2D ptDown = GetDC()->GetReal(m_downPoint); CPoint2D ptLast = GetDC()->GetReal(m_lastPoint); double yMax=max(ptDown.y0,ptLast.y0); double yMin=min(ptDown.y0,ptLast.y0); if (abs(m_downPoint.y-m_lastPoint.y)==0 && m_pTrack->GetTrackType() != Track_StandardLayer && m_pTrack->GetTrackType() != Track_FaultPoint && m_pTrack->GetTrackType() != Track_CoreWell) { OnDraw(GetDC(),pDC); m_bLDown = FALSE; return; } CWellPole *pWellObj = m_pTrack->GetWell(); BOOL bSelect = FALSE; CRect8 rect; WELLOBJLIST::iterator it = m_pTrack->GetChildren().begin(); for( ; it != m_pTrack->GetChildren().end(); it++) { CWellBaseObj* pObj = *it; rect = pObj->GetRect(); rect.NormalizeRect(); if (yMinrect.top) { if(m_pItemWell) { if (!m_bAddTrackIn) { m_pItemWell->m_WellObjSelectlist.RemoveAll(); } m_pItemWell->Select(pObj, TRUE); m_pItemWell->SetSelectMode(CItemNestBase::netSelect); m_pItemWell->SetDrawObj(pWellObj); } m_bAddTrackIn = TRUE; bSelect = TRUE; } //else if(yMinrect.bottom||yMax>rect.top&&yMinInvalidate(m_pTrack); // return; //} } if (bSelect) { m_bLDown = FALSE; GetDoc()->Invalidate();// m_pTrack); CItemTrackIn* pItemTrackIn = new CItemTrackIn(GetDoc()); pItemTrackIn->SetPos(GetPos()); if(m_pItemWell) { if(m_pItemWell->m_WellObjSelectlist.GetCount() == 1) { pItemTrackIn->SetDrawObj(m_pItemWell->m_WellObjSelectlist.GetHead()); //CXTPPropertyGrid &grid = GetPropertyGrid(GetDoc()->GetMainFrame()); //pItemTrackIn->InitPropertyGrid(grid); } m_pItemWell->SetItem(pItemTrackIn); } return; } //CXTPPropertyGrid &grid = GetPropertyGrid(GetDoc()->GetMainFrame()); CInTrackDepthSegment * pTrackIn = NULL; ///////标准层道、断点道、井壁取芯道时弹出提示对话框 if (m_pTrack->GetTrackType() == Track_StandardLayer || m_pTrack->GetTrackType() == Track_FaultPoint || m_pTrack->GetTrackType() == Track_CoreWell) { OnDraw(GetDC(),pDC); if(AfxMessageBox(IDS_STRING_ACTION_ADD,MB_YESNO|MB_ICONQUESTION)!=IDYES) { m_bLDown = FALSE; return; } } m_bLDown = FALSE; pTrackIn = CreatTopEndObj(); if (pTrackIn!=NULL) { //备份 SetReUnDoAction(); if (pTrackIn->GetType() == KEP_STANDARD || pTrackIn->GetType() == KEP_FAULTPOINT || pTrackIn->GetType() == KEP_COREWELL) { pTrackIn->GetPos().top = ptDown.y0; pTrackIn->GetPos().bottom = ptDown.y0; pTrackIn->GetPos().left = m_pTrack->GetPos().left; pTrackIn->GetPos().right = m_pTrack->GetPos().right; pTrackIn->m_fSdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().top); pTrackIn->m_fEdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().bottom); pTrackIn->SetRectInTrack(pTrackIn->GetPos(),LPVOID(pWellObj)); } else if (pTrackIn->GetType() == KEP_RESULT || pTrackIn->GetType() == KEP_LAYERGROUP) { CString strDateTime; CTime mTime; mTime = CTime::GetCurrentTime(); strDateTime = mTime.Format(_T("%H%M%S")); int nID; nID = atoi(strDateTime); pTrackIn->SetId(nID); pTrackIn->GetPos().top = yMax; pTrackIn->GetPos().bottom = yMin; pTrackIn->GetPos().left = m_pTrack->GetPos().left; pTrackIn->GetPos().right = m_pTrack->GetPos().right; pTrackIn->m_fSdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().top); pTrackIn->m_fEdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().bottom); pTrackIn->SetRectInTrack(pTrackIn->GetPos(),LPVOID(pWellObj)); } //else if (pTrackIn->GetType() == KEP_DISCRETESEGMENT) //{ // CInTrackDiscreteSegment* pDiscreteSegment = (CInTrackDiscreteSegment*)pTrackIn; // pDiscreteSegment->m_pTrackDiscrete = (CTrackDiscreteObj*)m_pTrack; // pDiscreteSegment->GetPos().top = yMax; // pDiscreteSegment->GetPos().bottom = yMin; // pDiscreteSegment->GetPos().left = m_pTrack->GetPos().left; // pDiscreteSegment->GetPos().right = m_pTrack->GetPos().right; // pDiscreteSegment->m_fSdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().top); // pDiscreteSegment->m_fEdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().bottom); // pDiscreteSegment->SetRectInTrack(pTrackIn->GetPos(),LPVOID(pWellObj)); // pDiscreteSegment->SetParentObj(m_pTrack); //} else { pTrackIn->GetPos().top = yMax; pTrackIn->GetPos().bottom = yMin; pTrackIn->GetPos().left = m_pTrack->GetPos().left; pTrackIn->GetPos().right = m_pTrack->GetPos().right; pTrackIn->m_fSdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().top); pTrackIn->m_fEdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().bottom); pTrackIn->SetRectInTrack(pTrackIn->GetPos(),LPVOID(pWellObj)); } pTrackIn->NormalText(); m_pTrack->AddChild(pTrackIn); GetDoc()->Invalidate();// m_pTrack); CItemTrackIn* pItemTrackIn = new CItemTrackIn(GetDoc()); if(m_pItemWell) { m_pItemWell->Select(pTrackIn); pItemTrackIn->SetDrawObj(pTrackIn); pItemTrackIn->SetPos(GetPos()); //pItemTrackIn->InitPropertyGrid(grid); m_pItemWell->SetItem(pItemTrackIn); } } } CInTrackDepthSegment* CItemTrack::CreatTopEndObj() { CInTrackDepthSegment * pTrackIn = NULL; if (m_pTrack->GetTrackType()==Track_Text) { CInTrackTextRange *pRange = new CInTrackTextRange(); pTrackIn = pRange; pTrackIn->m_font = m_pTrack->m_fontChild; pTrackIn->m_pen = m_pTrack->m_penChild; pTrackIn->m_brush.m_color = m_pTrack->m_brushChild.m_color; } else if(m_pTrack->GetTrackType()==Track_Symbol) { CInTrackSymbol* pSymbol = new CInTrackSymbol(); pTrackIn = pSymbol; } else if (m_pTrack->GetTrackType()==Track_Lith) { CInTrackLith* pLith = new CInTrackLith(); pTrackIn = pLith; } //else if (m_pTrack->GetTrackType()==Track_Layer) //{ // CInTrackLayer* pLayer = new CInTrackLayer(); // pTrackIn = pLayer; //} else if (m_pTrack->GetTrackType()==Track_Result) { CInTrackResult* pResult = new CInTrackResult(); pTrackIn = pResult; pTrackIn->m_pen = m_pTrack->m_penChild; } else if (m_pTrack->GetTrackType()==Track_Picture) { CInTrackPicture* pPicture = new CInTrackPicture(); pTrackIn = pPicture; } else if (m_pTrack->GetTrackType()==Track_OilTest) { CInTrackOilTest* pOilTest = new CInTrackOilTest(); pTrackIn = pOilTest; pTrackIn->m_font = m_pTrack->m_fontChild; } else if (m_pTrack->GetTrackType()==Track_CorePosition) { CInTrackCoring* pCoring = new CInTrackCoring(); pTrackIn = pCoring; pTrackIn->m_font = m_pTrack->m_fontChild; pTrackIn->m_pen = m_pTrack->m_penChild; pTrackIn->m_brush.m_color = m_pTrack->m_brushChild.m_color; } else if (m_pTrack->GetTrackType()==Track_CoreWell) { CInTrackCoreWell* pCoreWell = new CInTrackCoreWell(); pTrackIn = pCoreWell; pTrackIn->m_font = m_pTrack->m_fontChild; pTrackIn->m_pen = m_pTrack->m_penChild; pTrackIn->m_brush.m_color = m_pTrack->m_brushChild.m_color; //TRACKINCOREWELLDATA trackInCoreData; //pCoreWell->AddCoreData(trackInCoreData); } else if (m_pTrack->GetTrackType()==Track_Sample) { CInTrackSample* pSample = new CInTrackSample(); pTrackIn = pSample; pTrackIn->m_font = m_pTrack->m_fontChild; } else if (m_pTrack->GetTrackType()==Track_Shot) { CInTrackShot* pShot = new CInTrackShot(); pTrackIn = pShot; } else if (m_pTrack->GetTrackType() == Track_CementingQuality) { //CInTrackCementing* pTrackInCementing = new CInTrackCementing(); //pTrackIn = pTrackInCementing; } else if (m_pTrack->GetTrackType() == Track_ProducedFluidSection) { //CInTrackProducedFluid* pTrackInProducedFluid = new CInTrackProducedFluid(); //pTrackIn = pTrackInProducedFluid; //pTrackIn->m_font = m_pTrack->m_fontChild; //pTrackIn->m_pen = m_pTrack->m_penChild; //pTrackIn->m_brush = m_pTrack->m_brushChild; } else if (m_pTrack->GetTrackType() == Track_WaterAbsorptionSection) { //CTrackWaterAbsorptionSectionObj* pTrackWaterAbsorption = (CTrackWaterAbsorptionSectionObj*)m_pTrack; //CInTrackWaterAbsorption* pWaterAbsorption = new CInTrackWaterAbsorption(); //pWaterAbsorption->SetShowAbsolute(pTrackWaterAbsorption->IsShowAbsolute()); //pWaterAbsorption->SetShowRelative(pTrackWaterAbsorption->IsShowRelative()); //pTrackIn = pWaterAbsorption; //pTrackIn->m_font = m_pTrack->m_fontChild; //pTrackIn->m_pen = m_pTrack->m_penChild; //pTrackIn->m_brush = m_pTrack->m_brushChild; } else if (m_pTrack->GetTrackType() == Track_TestExtraction) { CInTrackTestExtraction* pTestExtraction = new CInTrackTestExtraction(); pTrackIn = pTestExtraction; pTrackIn->m_font = m_pTrack->m_fontChild; pTrackIn->m_pen = m_pTrack->m_penChild; pTrackIn->m_brush = m_pTrack->m_brushChild; } else if (m_pTrack->GetTrackType() == Track_SandLayer || m_pTrack->GetTrackType() == Track_OilLayerGroup || m_pTrack->GetTrackType() == Track_ProduceLayer ||m_pTrack->GetTrackType() == Track_ReserveUnit || m_pTrack->GetTrackType() == Track_Stratum) { CInTrackLayerGroup* pLayerGroup = new CInTrackLayerGroup(); pTrackIn = pLayerGroup; pTrackIn->m_font = m_pTrack->m_fontChild; pTrackIn->m_pen = m_pTrack->m_penChild; pTrackIn->m_brush = m_pTrack->m_brushChild; } else if (m_pTrack->GetTrackType() == Track_StandardLayer) { //CInTrackStandardLayer* pStandardLayer = new CInTrackStandardLayer(); //pTrackIn = pStandardLayer; //pTrackIn->m_font = m_pTrack->m_fontChild; } else if (m_pTrack->GetTrackType() == Track_Discrete) { //CInTrackDiscreteSegment* pDiscreteSegment = new CInTrackDiscreteSegment(); //pTrackIn = pDiscreteSegment; } else if (m_pTrack->GetTrackType() == Track_FaultPoint) { CInTrackFaultPoint* pFaultPoint = new CInTrackFaultPoint(); pTrackIn = pFaultPoint; pTrackIn->m_font = m_pTrack->m_fontChild; } //else if(m_pTrack->GetTrackType() == Track_Curve) //{ //} //else if (m_pTrack->GetTrackType() == Track_CementingQualityCurve) //{ // CInTrackCementingCurve* pCementingCurve = new CInTrackCementingCurve(); // pTrackIn = pCementingCurve; //} return pTrackIn; } void CItemTrack::OnLButtonDblClk(UINT nFlags, CPoint point) { } int CItemTrack::OnMouseMove(CDC *pDC,UINT nFlags, CPoint point) { CPoint2D lastPoint = GetDC()->GetReal(point); if(IsCaptureState() && m_bLDown) { OnDraw(GetDC(),pDC); m_lastPoint = point; OnDraw(GetDC(),pDC); } return 0; } BOOL CItemTrack::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { ::SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR_RANGE)); return TRUE; } int CItemTrack::DeleteSelection(void) { if(GetDrawObj() == NULL) return 0; CWellPole* pWellObj = (CWellPole*)m_pTrack->GetWell(); CTrackGroup* pParentTrack = (CTrackGroup*)m_pTrack->GetParent(); CWellBaseObj* pObj = NULL; CTrackObj* pTrack = NULL; int num = 0; num = pWellObj->GetTrackCount(); if (num<=1) { return 0; } if (pWellObj->GetParent()!=NULL) { //CWellSection* pSection = (CWellSection*)pWellObj->GetParentObj(); //POSITION posBend = pSection->m_BendList.GetHeadPosition(); //while (posBend!=NULL) //{ // CBendObj* pBend = (CBendObj*)pSection->m_BendList.GetNext(posBend); // if (pBend->m_pLayerLeft->GetParentObj() == m_pTrack||(pBend->m_pLayerRight!=NULL&&pBend->m_pLayerRight->GetParentObj()==m_pTrack)) // { // POSITION posFind = pSection->m_BendList.Find(pBend); // if (posFind!=NULL) // { // pSection->DeleteBend(pBend); // } // } //} } //pParentTrack->RemoveTrack(m_pTrack); pWellObj->RemoveTrack(m_pTrack); delete m_pTrack; //if (pParentTrack->GetTrackList().size() == 0 && pParentTrack->GetType() != KEP_WELL) //{//如果父道不是井,且没有子道,就删除 // CTrackGroup* pPParentTrack = (CTrackGroup*)pParentTrack->GetParent(); // pPParentTrack->RemoveTrack(pParentTrack); // delete pParentTrack; //} m_pTrack = NULL; CPoint2D point = pWellObj->GetAnchorPoint();//pWellObj->GetPos().TopLeft(); pWellObj->CalculateSize(point); //if (pWellObj->GetWellType()==Well_Section) //{ // CWellSection* pSection = (CWellSection*)pWellObj->GetParentObj(); // pSection->ReComputeBends(pWellObj); //} return 1; } //void CItemTrack::OnInplaceButtonDown(CXTPPropertyGridItem* pItem) //{ // if(pItem == NULL) // return; //// if(pItem->GetID() == IDS_STRING_DB_TABLEFIELD_CONFIG) //弹出字段配置对话框 // { // //Db::CSqlStatementManager *pSqlManager = AfxGetGeo()->GetSqlStatementManager(); // //if (pSqlManager->HasDB()) // //{ // // //获取图道的数据表、字段 // // CString strTrackType; // // CString curve; // // CString table; // // vector fields; // // if(m_pItemWell) // // m_pItemWell->GetTrackTable(m_pTrack, strTrackType, table, curve); // // /// 从文件中读取相关类型道的配置 // // CDataTableConfig TempDataConfig; // // TempDataConfig.SetTableID(strTrackType); // // TempDataConfig.Read(); // // CDlgWellDataConfig dlg; // // dlg.SetFields(TempDataConfig.GetFieldsBase()); // // if (!m_pTrack->m_strConfigTable.IsEmpty()) // // { // // dlg.SetConfigTable(m_pTrack->m_strConfigTable); // // dlg.SetConfigFields(m_pTrack->m_VecConfigField); // // dlg.SetConfigClass(m_pTrack->m_strConfigClass); // // } // // else // // { // // dlg.SetConfigTable(TempDataConfig.GetTableDB()); // // dlg.SetConfigFields(TempDataConfig.GetFieldsDB()); // // } // // dlg.SetBaseTable(TempDataConfig.GetTableBase()); // // dlg.m_strTitleName = TempDataConfig.GetTableBase(); // // dlg.m_strID = TempDataConfig.GetTableID(); // // dlg.SetDataConfigTableFields(TRUE); // // dlg.SetDataConfigDB(TRUE); // // if (dlg.DoModal() == IDOK) // // { // // m_pTrack->m_strConfigTable = dlg.GetConfigTable(); // // m_pTrack->m_VecConfigField = dlg.GetConfigFields(); // // m_pTrack->m_strConfigClass = dlg.GetConfigClass(); // // pItem->SetValue(m_pTrack->m_strConfigTable); // // CItemSingleWell itemsw(GetWnd()); // // itemsw.ImportTrackDataFromDB(m_pTrack, (CWellObj*)m_pTrack->GetParentObj(), AfxGetGeo()->GetSqlStatementManager()); // // m_pTrack->ReadCurveData(); // // GetDoc()->Invalidate(m_pTrack->GetParentObj()); // // } // //} // } //// else if (pItem->GetID() == IDS_STR_TRACK_CONFIGTOPANDBOT) // { // //Db::CSqlStatementManager *pSqlManager = AfxGetGeo()->GetSqlStatementManager(); // //if (pSqlManager->HasDB()) // //{ // // //获取图道的数据表、字段 // // CString strTrackType; // // CString curve; // // CString table; // // vector fields; // // 从文件中读取相关类型道的配置 // // CDataTableConfig TempDataConfig; // // TempDataConfig.SetTableID(_T("Text")); // // TempDataConfig.Read(); // // CDlgWellDataConfig dlg; // // dlg.SetFields(TempDataConfig.GetFieldsBase()); // // if (!m_pTrack->m_strConfigTableOther.IsEmpty()) // // { // // dlg.SetConfigTable(m_pTrack->m_strConfigTableOther); // // dlg.SetConfigFields(m_pTrack->m_VecConfigFieldOther); // // } // // else // // { // // dlg.SetConfigTable(TempDataConfig.GetTableDB()); // // dlg.SetConfigFields(TempDataConfig.GetFieldsDB()); // // } // // dlg.SetBaseTable(TempDataConfig.GetTableBase()); // // dlg.m_strTitleName = TempDataConfig.GetTableBase(); // // dlg.m_strID = TempDataConfig.GetTableID(); // // dlg.SetDataConfigTableFields(TRUE); // // dlg.SetDataConfigDB(TRUE); // // if (dlg.DoModal() == IDOK) // // { // // m_pTrack->m_strConfigTableOther = dlg.GetConfigTable(); // // m_pTrack->m_VecConfigFieldOther = dlg.GetConfigFields(); // // pItem->SetValue(m_pTrack->m_strConfigTableOther); // // } // //} // } //// else if (pItem->GetID() == IDS_REVERSE_SET_VALUERANGE) // { // //CDialogCurveReverseRange dlg; // //CTrackCurve *pTrackCurve = (CTrackCurve*)m_pTrack; // //dlg.m_curve_right = pTrackCurve->m_curve_right; // //dlg.m_RangeValueVec.insert(dlg.m_RangeValueVec.begin(),pTrackCurve->m_ReverseRangeVec.begin(),pTrackCurve->m_ReverseRangeVec.end()); // //if(dlg.DoModal()==IDOK) // //{//取到设置好的翻卷数值区间 // // pTrackCurve->m_ReverseRangeVec.clear(); // // pTrackCurve->m_ReverseRangeVec.insert(pTrackCurve->m_ReverseRangeVec.begin(), // // dlg.m_RangeValueVec.begin(),dlg.m_RangeValueVec.end()); // // if(pTrackCurve->m_ReversePenVec.size()< pTrackCurve->m_ReverseRangeVec.size()) // // { // // int num = pTrackCurve->m_ReverseRangeVec.size() - pTrackCurve->m_ReversePenVec.size(); // // for(int ii = 0; iim_ReversePenVec.push_back(pTrackCurve->m_penCurve); // // } // // if(pTrackCurve->m_ReversePenVec.size()> pTrackCurve->m_ReverseRangeVec.size()) // // { // // int num = pTrackCurve->m_ReversePenVec.size() - pTrackCurve->m_ReverseRangeVec.size() ; // // for(int ii = num-1; ii>-1 ;ii-- ) // // pTrackCurve->m_ReversePenVec.pop_back(); // // } // // CXTPPropertyGrid &grid = GetPropertyGrid(GetDoc()->GetMainFrame()); // // CXTPPropertyGridItems *pItems = grid.GetCategories(); // // CXTPPropertyGridItem *pItem1; // // int cateNum = pItems->GetCount(); // // int id ; // // for(int ii = 0; ii< cateNum; ii++) // // { // // pItem1 = pItems->GetAt(ii); // // id = pItem1->GetID(); // // if(id == IDS_REVERSE_VALUE_RANGE) // // { // // pItem1->GetChilds()->Clear(); // // AddReverseCurveRangeItem(pItem1,pTrackCurve); // // pTrackCurve->ComputePointsInclined(); // // GetDoc()->Invalidate(); // (pTrackCurve); // // break; // // } // // } // //} // } //} void CItemTrack::ReadCurveData(CTrackObj* pTrack) { CTrackCurveBase* TrackCurve = (CTrackCurveBase*)pTrack; CString strcurvename = TrackCurve->m_strTrackName; vector fields; StringVectorSet *pdatas = NULL; //CDataBinderWellCurve WellCurve; //CDataBinderWellDiscrete WellDis; //Db::CSqlStatementManager *pSqlManager = AfxGetGeo()->GetSqlStatementManager(); //if (pSqlManager->HasDB()) //{ // AfxGetApp()->BeginWaitCursor(); // CString tableng; // CString strWellName ; // if(m_pItemWell) // strWellName= m_pItemWell->GetWellObject()->GetWellName(); // // CTrackCurveObjBase* TrackCurve = (CTrackCurveObjBase*)pTrack; // if (TrackCurve->GetTrackType() == Track_Curve) // { // fields.push_back("depth"); // fields.push_back(strcurvename); // CString strSGXh; // CString strVer; // WellCurve.SetParams(strWellName,strcurvename,strSGXh,strVer,Db::LOG_CURVE); // WellCurve.AttachInput(pSqlManager); // WellCurve.ReadData(); // //pdatas = &WellCurve.GetDataSet(); // TrackCurve->BuidChildObject(WellCurve.GetCurveDepth(),WellCurve.GetCurveData(),WellCurve.GetDataNum(),TRUE); // } // else if (TrackCurve->GetTrackType() == Track_Discrete) // { // fields.push_back("depth"); // fields.push_back(strcurvename); // //CDataBinderWellDiscrete WellDis(strWellName,strcurvename); // WellDis.SetParams(strWellName,strcurvename); // WellDis.AttachInput(pSqlManager); // WellDis.ReadData(); // TrackCurve->BuidChildObject(WellDis.GetCurveDepth(),WellDis.GetCurveData(),WellDis.GetDataNum(),TRUE); // //pdatas = &WellDis.GetDataSet(); // } // AfxGetApp()->EndWaitCursor(); //} //else {//使用井缓冲的曲线数据 CTrackCurve *pTrackCurve = (CTrackCurve*)pTrack; CWellPole *pWell = pTrack->GetWell(); for(int ii = 0; ii< pWell->m_CurveDataVecs.size(); ii++) { if(strcurvename == pWell->m_CurveDataVecs[ii]->m_curve_name) { pTrackCurve->m_dataObj = *pWell->m_CurveDataVecs[ii]; pTrackCurve->m_fRlev = pTrackCurve->m_dataObj.m_rlev; pTrackCurve->CaculateStartAndEnd(pWell); break; } } } } } //void CItemTrack::AddReverseCurveRangeItem(CXTPPropertyGridItem* pParentItem,CTrackObj *pTrack) //{ // CTrackCurve *pTarckCurve = (CTrackCurve*)pTrack; // CPropertyGridItemAdd ItemAdd(NULL); // // CString str; // str.LoadString(IDS_REVERSE_VALUE_RANGE); // int rangeNum = pTarckCurve->m_ReverseRangeVec.size(); // if(rangeNum>0) // { // CString tmpStr; // CXTPPropertyGridItem *pGridItem,*pItem1; // double left,right; // GDFLOGPEN tlogPen; // for(int ii = 0; ii< rangeNum; ii++) // { // tmpStr.Format("%s%d",str,ii+1); // pGridItem = pParentItem->AddChildItem(new CXTPPropertyGridItemCategory(tmpStr)); // //pGridItem= grid.AddCategory(tmpStr); // // ItemAdd.SetItem(pGridItem); // if(ii ==0) // left = pTarckCurve->m_curve_right; // else // left = pTarckCurve->m_ReverseRangeVec[ii-1]; // // right = pTarckCurve->m_ReverseRangeVec[ii]; // // pItem1 = ItemAdd.AddItemDouble(IDS_REVERSE_VALUE_LEFT,left);// 曲线的左刻 // pItem1->SetReadOnly(TRUE); // // pItem1 = ItemAdd.AddItemDouble(IDS_REVERSE_VALUE_RIGHT,right);// 曲线的右刻 // pItem1->SetReadOnly(TRUE); // // ItemAdd.AddItemLine1(IDS_REVERSE_CURVE_LINE, pTarckCurve->m_ReversePenVec[ii], &pTarckCurve->m_ReversePenVec[ii],LineType_Curve);//曲线类型 // pGridItem->Expand(); // } // // pParentItem->Expand(); // } //} void CItemTrack::ReadWavetraceData(CTrackObj *pTrack,CString newname) { //Db::CSqlStatementManager *pSqlManager = AfxGetGeo()->GetSqlStatementManager(); //if (pSqlManager->HasDB()) //{ // AfxGetApp()->BeginWaitCursor(); // if(pTrack->GetTrackType() == Track_VdlImage) // { // CTrackVdlImage *pTrackVdl = (CTrackVdlImage*)pTrack; // CWellObj *pWell = (CWellObj*)pTrack->GetParentObj(); // int well_id = pSqlManager->GetWellID(pWell->GetWellName()); // std::vectorfields; // std::vectorfieldsType; // fields.push_back("top"); fieldsType.push_back(DB_DATA_DOUBLE); // fields.push_back("bottom"); fieldsType.push_back(DB_DATA_DOUBLE); // fields.push_back("DepthRelv"); fieldsType.push_back(DB_DATA_DOUBLE); // fields.push_back("startTime"); fieldsType.push_back(DB_DATA_DOUBLE); // fields.push_back("endTime"); fieldsType.push_back(DB_DATA_DOUBLE); // fields.push_back("timeRelv"); fieldsType.push_back(DB_DATA_DOUBLE); // fields.push_back("dataRow"); fieldsType.push_back(DB_DATA_INT); // fields.push_back("datalen"); fieldsType.push_back(DB_DATA_INT); // fields.push_back("SaveOrder"); fieldsType.push_back(DB_DATA_INT); // fields.push_back("datatype");fieldsType.push_back(DB_DATA_STRING); // fields.push_back("depthUnit");fieldsType.push_back(DB_DATA_STRING); // fields.push_back("timeUnit");fieldsType.push_back(DB_DATA_STRING); // fields.push_back("Data"); fieldsType.push_back(DB_DATA_BINARY); // CDataBlobOne bread("well_wavetrace",fields,fieldsType); // bread.AttachInput(pSqlManager); // CString strWhere,str1,str2; // str2.Format("'%s'", pWell->GetWellName() ); // str1 = bread.GetFieldFmtStr("well_id"); // strWhere = str1 + "=" +str2; // str1 = bread.GetFieldFmtStr("name"); // str2.Format("='%s'",newname); // strWhere =strWhere +" and " + str1 + str2; // bread.SetWhereSql(strWhere); // if(bread.GetBlobOneRecord()) // { // pTrackVdl->SetNewDataInTrack(bread.GetBlobRecord()[0].data.m_dVal,bread.GetBlobRecord()[1].data.m_dVal,bread.GetBlobRecord()[2].data.m_dVal // ,bread.GetBlobRecord()[3].data.m_dVal,bread.GetBlobRecord()[4].data.m_dVal,bread.GetBlobRecord()[5].data.m_dVal // ,bread.GetBlobRecord()[6].data.m_iVal,bread.GetBlobRecord()[7].data.m_iVal,bread.GetBlobRecord()[8].data.m_iVal // ,bread.GetBlobRecord()[9].m_str,bread.GetBlobRecord()[10].m_str,bread.GetBlobRecord()[11].m_str // ,bread.GetBlobRecord()[12].GetBlob().pData,bread.GetBlobRecord()[12].GetBlob().cbSize); // pTrack->m_strTrackName = newname; // } // bread.EndBlob(); // } // AfxGetApp()->EndWaitCursor(); //} }