// TgTwtSettingDlg.cpp : implementation file // #include "stdafx.h" #include "TgTwtSettingDlg.h" #include #include //#include #include "PipeSettingDlg.h" #include "TextSettingDlg.h" #include "PipeSettingFrameDlg.h" #include "TwtDef.h" #include "OutDimSettingDlg.h" #include "VPipeDimDnSettingDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif //extern AOLAPI double g_nCirDeviation; //分弧精度 extern TARCH_IMPEXP BOOL g_bEnableSelectPreview; extern TARCH_IMPEXP BOOL g_bAutoLTScale; //是否自动设置线型比例 extern TARCH_IMPEXP BOOL g_bTgOsnap; extern TARCH_IMPEXP int g_bDownloadT3Split; // cet 2012.8.17 add 转T3上华文字中英文打断 //extern TARCH_IMPEXP void DocStatus(); ///////////////////////////////////////////////////////////////////////////// // CTgTwtSettingDlg dialog CTgTwtSettingDlg::CTgTwtSettingDlg(CWnd* pParent /*=NULL*/) : CDialog(IDD, pParent), m_spinBreakPipeWidth(0.5), m_spinDnDimDist2Pipe(0.5), m_spinDist(25), m_spinPtRadius(125), m_spinTextBreak(0.5) { //{{AFX_DATA_INIT(CTgTwtSettingDlg) m_bToolbar = TRUE; m_nDist2Wall = 100; m_bIsPipeThick = FALSE; m_nSprinklerRadius = 125; m_nBreakPipeWidth = 2.0; m_nDnDimDist2Pipe = g_nDnDimDist2Pipe; m_nDimCirRadius = g_nDimCirDiam; m_nWellRadius = g_nWellRadius; m_iDimType = 0; m_iPipeDn = 25; m_iFeedPoint = 0; m_nDrainPtRadius = 25; m_iStandPipeType = 0; m_bBlk3D = TRUE; m_nPipeTextDist = 0.5; m_bSelPreview = FALSE; m_nElbowRate = 1; m_nValveScale = 1.2; m_iUnit = -1; m_bShowFlowDir = FALSE; m_iPrePiepLen = 2; m_iPreWelldDeep = 3; m_bAutoScale = FALSE; m_iVPipeDimStyle = 0; m_dEleHeight = 3; m_bTgOsnap = TRUE; m_nWndCmbModulus = -1; m_nFeedCircleScale = 1; m_bT3TextBreak = TRUE; m_dDbPipeLineWidth = 0.35; m_nSinataryDataType = 0; m_bIsRelatePipeLineTypeToCurPScale = FALSE; m_nDistDn2Label = 3.0; // cet 2014.4.25 modify 默认不选 // m_bIsElevDimChangeByPipeElev = true; m_bIsElevDimChangeByPipeElev = FALSE; //}}AFX_DATA_INIT m_iOldStandPipeType = 0; } void CTgTwtSettingDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CTgTwtSettingDlg) DDX_Control(pDX, IDC_SPIN_PIPETEXTDIST, m_spinTextBreak); DDX_Control(pDX, IDC_SPIN_DIM2PIPE, m_spinDnDimDist2Pipe); DDX_Control(pDX, IDC_SPIN_BREAKWIDTH, m_spinBreakPipeWidth); DDX_Control(pDX, IDC_SPIN_PT_RADIUS, m_spinPtRadius); DDX_Control(pDX, IDC_SPIN_DIST2WALL, m_spinDist); DDX_Check(pDX, IDC_CHECK_TOOLBAR, m_bToolbar); DDX_Text(pDX, IDC_EDIT_DIST2WALL, m_nDist2Wall); DDX_Check(pDX, IDC_CHECK_THICKPIPE, m_bIsPipeThick); DDX_Text(pDX, IDC_EDIT_PT_RADIUS, m_nSprinklerRadius); DDX_Text(pDX, IDC_EDIT_BREAKWIDTH, m_nBreakPipeWidth); DDX_Text(pDX, IDC_EDIT_DIM2PIPE, m_nDnDimDist2Pipe); DDX_Text(pDX, IDC_EDIT_DIM_RADIUS, m_nDimCirRadius); DDX_Text(pDX, IDC_EDIT_WELL_RADIUS, m_nWellRadius); DDX_Radio(pDX, IDC_RADIO_DIM1, m_iDimType); DDX_Text(pDX, IDC_EDIT_PIPE_DN, m_iPipeDn); DDX_Radio(pDX, IDC_RADIO_POINT, m_iFeedPoint); DDX_Text(pDX, IDC_EDIT_DRAIN_RADIUS, m_nDrainPtRadius); DDX_Radio(pDX, IDC_RADIO_STANDPIPE1, m_iStandPipeType); DDX_Check(pDX, IDC_CHECK_BLK3D, m_bBlk3D); DDX_Text(pDX, IDC_EDIT_PIPETEXTDIST, m_nPipeTextDist); DDX_Check(pDX, IDC_CHECK_PREVIEW, m_bSelPreview); DDX_Text(pDX, IDC_EDIT_PIPE_RATE, m_nElbowRate); DDX_Text(pDX, IDC_EDIT_VALVE_SCALE, m_nValveScale); DDX_CBIndex(pDX, IDC_COMBO_UNIT, m_iUnit); DDX_Check(pDX, IDC_CHECK_PIPEDIR, m_bShowFlowDir); DDX_CBIndex(pDX, IDC_COMBO_PIPELEN_PRE, m_iPrePiepLen); DDX_CBIndex(pDX, IDC_COMBO_WELLDEEP_PRE, m_iPreWelldDeep); DDX_Check(pDX, IDC_CHECK_AUTOSCALE, m_bAutoScale); DDX_CBIndex(pDX, IDC_COMBO_VPIPEDIM, m_iVPipeDimStyle); DDX_Text(pDX, IDC_EDIT_ELE_HEIGHT, m_dEleHeight); DDX_Check(pDX, IDC_CHECK_OSNAP, m_bTgOsnap); DDX_CBIndex(pDX, IDC_COMBO_MODULUS, m_nWndCmbModulus); DDX_Text(pDX, IDC_EDIT_FEED_RADIUS, m_nFeedCircleScale); DDX_Check(pDX, IDC_CHK_T3TEXT, m_bT3TextBreak); DDX_Text(pDX, IDC_EDIT_DBPIPE_LINEWIDTH, m_dDbPipeLineWidth); DDX_Radio(pDX, IDC_RADIO_PICFIST, m_nSinataryDataType); DDX_Check(pDX, IDC_CHECK_PLTYPE2CURPSCALE, m_bIsRelatePipeLineTypeToCurPScale); DDX_Text(pDX, IDC_EDIT_DISTDN, m_nDistDn2Label); DDX_Check(pDX, IDC_CHECK_ELEVDIMWITHPIPE, m_bIsElevDimChangeByPipeElev); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CTgTwtSettingDlg, CDialog) //{{AFX_MSG_MAP(CTgTwtSettingDlg) ON_BN_CLICKED(IDC_BUTTON_PIPE_SETTING, OnButtonPipeSetting) ON_WM_PAINT() ON_BN_CLICKED(IDC_RADIO_DIM1, OnRadioDim1) ON_BN_CLICKED(IDC_RADIO_DIM2, OnRadioDim2) ON_BN_CLICKED(IDC_RADIO_POINT, OnRadioPoint) ON_BN_CLICKED(IDC_RADIO_FORK, OnRadioFork) ON_BN_CLICKED(IDC_RADIO_STANDPIPE1, OnRadioStandpipe1) ON_BN_CLICKED(IDC_RADIO_STANDPIPE2, OnRadioStandpipe2) ON_BN_CLICKED(IDC_BUTTON_TEXT_SETTING, OnButtonTextSetting) ON_BN_CLICKED(IDC_RADIO_DIM3, OnRadioDim3) ON_BN_CLICKED(IDC_RADIO_DIM4, OnRadioDim4) ON_BN_CLICKED(IDC_BUTTON_OUTDIMSET, OnButtonOutdimset) ON_BN_CLICKED(IDC_BUTTON_DNDIM, OnButtonDndim) ON_BN_CLICKED(IDC_CHK_T3TEXT, OnChkT3text) ON_BN_CLICKED(IDC_RADIO_DIM5, OnRadioDim5) //}}AFX_MSG_MAP ON_BN_CLICKED(IDOK, &CTgTwtSettingDlg::OnBnClickedOk) ON_BN_CLICKED(IDCANCLE, &CTgTwtSettingDlg::OnBnClickedCancle) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTgTwtSettingDlg message handlers BOOL CTgTwtSettingDlg::OnInitDialog() { CDialog::OnInitDialog(); m_spinDnDimDist2Pipe.SetRange(0, 10); m_spinBreakPipeWidth.SetRange(0, 10); m_spinTextBreak.SetRange(0, 10); m_spinDist.SetRange(0, 2000); m_spinPtRadius.SetRange(25, 2000); UpdateDlgData(TRUE); OpenSlide(); CWnd *pWnd = GetDlgItem(IDC_STATIC_DIM_RADIUS); if(m_iDimType == 1) pWnd->SetWindowText(_T("圆半径")); else pWnd->SetWindowText(_T("文字距离")); // cet 2012.4.19 add EnableBtnDimDn((m_iDimType == 3) ?TRUE : FALSE); // ZXL 2012.12.18 ADD m_bIsRelatePipeLineTypeToCurPScale = IsRelatePipeLineTypeToCurPScale(); UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CTgTwtSettingDlg::OnMainDialogOK() { UpdateData(TRUE); UpdateDlgData(FALSE); // zxl 2012.12.19 add if (m_bIsRelatePipeLineTypeToCurPScale) { RelatePipeLineTypeToCurPScale(true); } else { RelatePipeLineTypeToCurPScale(false); } // 更新管线线型 cet 2012.12.20 add RBList rbMaskPipe(RTDXF0, _T("ATS_PIPE"), NULL); PickSet ss(SS_FREE); ss.Get(_T("X"), NULL, NULL, rbMaskPipe); UpdateGraphic(ss); if(!SetToolbarVisible(m_bToolbar) && m_bToolbar){ CreateToolbars(); } } void CTgTwtSettingDlg::PostNcDestroy() { CDialog::PostNcDestroy(); TDbPsConfig *pConfig = GetDwgPsGlobal(AcDb::kForWrite); if (pConfig){ pConfig->ShowPipeFlowDir(m_bShowFlowDir); int iPrePiepLen = m_iPrePiepLen; if(iPrePiepLen == 0) iPrePiepLen = 99; pConfig->SetPipeLenPrecision(iPrePiepLen); int iPreWelldDeep = m_iPreWelldDeep; if(iPreWelldDeep == 0) iPreWelldDeep = 99; pConfig->SetWellDeepPrecision(iPreWelldDeep); pConfig->close(); } if(g_bIsPipeThick != m_bIsPipeThick){ g_bIsPipeThick = m_bIsPipeThick; RBList rbMaskPipe(RTDXF0, _T("ATS_PIPE,ATS_DOUBLELINEPIPE,ATS_FLANGE"), NULL); PickSet ss(SS_FREE); ss.Get(_T("X"), NULL, NULL, rbMaskPipe); TDbPsConfig *pConfig = GetDwgPsGlobal(AcDb::kForWrite); if (pConfig){ pConfig->SetLineWeight(g_bIsPipeThick); pConfig->close(); UpdateGraphic(ss); } } if(g_nBreakPipeWidth != m_nBreakPipeWidth){ g_nBreakPipeWidth = m_nBreakPipeWidth; RBList rbMaskPipe(RTDXF0, _T("ATS_PIPE"), 8, GetLayerNames(_T("管")), NULL); PickSet ss(SS_FREE); ss.Get(_T("X"), NULL, NULL, rbMaskPipe); TDbPsConfig *pConfig = GetDwgPsGlobal(AcDb::kForWrite); if (pConfig){ pConfig->SetBreakWidth(g_nBreakPipeWidth); pConfig->close(); UpdateGraphic(ss); } } if(g_nPipeTextBreak != m_nPipeTextDist){ g_nPipeTextBreak = m_nPipeTextDist; RBList rbMaskPipe(RTDXF0, _T("ATS_PIPE"), 8, GetLayerNames(_T("管")), NULL); PickSet ss(SS_FREE); ss.Get(_T("X"), NULL, NULL, rbMaskPipe); TDbPsConfig *pConfig = GetDwgPsGlobal(AcDb::kForWrite); if (pConfig){ pConfig->SetPipeTextDis(g_nPipeTextBreak); pConfig->close(); UpdateGraphic(ss); } } if(g_iElbowType != m_iFeedPoint){ g_iElbowType = m_iFeedPoint; RBList rbMaskPipe(RTDXF0, _T("ATS_FLANGE"), NULL); PickSet ss(SS_FREE); ss.Get(_T("X"), NULL, NULL, rbMaskPipe); TDbPsConfig *pConfig = GetDwgPsGlobal(AcDb::kForWrite); if (pConfig){ pConfig->SetElbowType(g_iElbowType); pConfig->close(); UpdateGraphic(ss); } } int iStandPipeType(0); if(g_bStandPipeArc == TRUE) iStandPipeType = 0; else iStandPipeType = 1; if(m_iOldStandPipeType != iStandPipeType){ RBList rbMaskPipe(RTDXF0, _T("ATS_PIPE"), 8, GetLayerNames(_T("管")), NULL); PickSet ss(SS_FREE); ss.Get(_T("X"), NULL, NULL, rbMaskPipe); long len = ss.Length(); for(long i=0;iGetRadiusIn() < 2){ if(!g_bStandPipeArc)//传统扣弯 pPipe->SetRadiusIn(-2); else pPipe->SetRadiusIn(0); } } OPENOBJ_END(); } } } void CTgTwtSettingDlg::UpdateDlgData(BOOL bIsRead) { UpdateData(TRUE); CRegProperty regProp(GetRegLocation(), _T("TWTConfig")); regProp.SetTopRootKey(HKEY_CURRENT_USER); if(bIsRead){ TDbPsConfig *pConfig = GetDwgPsGlobal(AcDb::kForRead); if (pConfig){ g_bIsPipeThick = pConfig->IsLineWeight(); g_nBreakPipeWidth = pConfig->GetBreakWidth(); g_nPipeTextBreak = pConfig->GetPipeTextDis(); m_bShowFlowDir = pConfig->IsShowPipeFlowDir(); m_iFeedPoint = pConfig->GetElbowType(); m_iPrePiepLen = pConfig->GetPipeLenPrecision(); m_iPreWelldDeep = pConfig->GetWellDeepPrecision(); if(m_iPreWelldDeep == 99) m_iPreWelldDeep = 0; if(m_iPrePiepLen == 99) m_iPrePiepLen = 0; pConfig->close(); } else{ g_bIsPipeThick = FALSE; g_nBreakPipeWidth = 2; g_nPipeTextBreak = 0.5; m_iPrePiepLen = 2; } CString csDimStyle(_T("_TWT_DIM")); // cet 2012.8.17 add m_bT3TextBreak = g_bDownloadT3Split == 1 ? TRUE : FALSE; m_bToolbar = g_bToolbar; m_bTgOsnap = g_bTgOsnap; m_bIsPipeThick = g_bIsPipeThick; m_bSelPreview = g_bEnableSelectPreview; m_nBreakPipeWidth = g_nBreakPipeWidth; m_nPipeTextDist = g_nPipeTextBreak; m_bAutoScale = g_bAutoLTScale; m_dEleHeight = DocGetEleTriangleSize(); regProp.GetValue(_T("Dist2Wall"), m_nDist2Wall); regProp.GetValue(_T("SprinklerRadius"), m_nSprinklerRadius); regProp.GetValue(_T("DnDimDist2Pipe"), m_nDnDimDist2Pipe); regProp.GetValue(_T("IsPipeDimCir"), m_iDimType); regProp.GetValue(_T("WellRadius"), m_nWellRadius); regProp.GetValue(_T("DimCirDiam"), m_nDimCirRadius); regProp.GetValue(_T("FeedCircleScale"), m_nFeedCircleScale);//zxl 2012.04.16 add regProp.GetValue(_T("DefaultPipeDn"), m_iPipeDn); regProp.GetValue(_T("Blk3D"), m_bBlk3D); regProp.GetValue(_T("DrainPtRadius"), m_nDrainPtRadius); regProp.GetValue(_T("IsStandPipeArc"), g_bStandPipeArc); regProp.GetValue(_T("ElbowRate"), m_nElbowRate); regProp.GetValue(_T("ValveScale"), m_nValveScale); // regProp.GetValue(_T("DimPipeGradientType"), m_iDimPipeGradientType); regProp.GetValue(_T("VPipeDimStyle"), m_iVPipeDimStyle); // regProp.GetValue(_T("DimPipeLen"), m_iDimPipeLenType); // cet 2011.5.20 add regProp.GetValue(_T("DbPipeLineWidth"), m_dDbPipeLineWidth); // cet 2012.10.18 add bool bRet = regProp.GetValue(_T("SanitaryDataType"), m_nSinataryDataType); // zxl 2012.12.05 add if (!bRet) { m_nSinataryDataType = 0; } regProp.GetValue(_T("VPipeDimDn2Label"), m_nDistDn2Label);// zxl 2013.08.23 add regProp.GetValue(_T("IsElevDimChangeByPipeElev"), m_bIsElevDimChangeByPipeElev);// zxl 2013.11.20 add if(g_bStandPipeArc == TRUE) m_iStandPipeType = 0; else m_iStandPipeType = 1; m_iOldStandPipeType = m_iStandPipeType; if(DocGetMeterUnitDraw()) m_iUnit=1; else m_iUnit=0; // cet 2011.4.18 add 增加喷头间距模数设置 if (!regProp.GetValue(_T("SprinklerDistMod"), g_iSprinklerDistMod)) { g_iSprinklerDistMod = 50; } if (g_iSprinklerDistMod == 100) { m_nWndCmbModulus = 1; } else { m_nWndCmbModulus = 0; } // // cet 2011.4.28 add // if (m_iDimPipeGradientType == -1) // { // m_iDimPipeGradientType = 12; //不标注 // } } else{ if(m_iStandPipeType == 0) g_bStandPipeArc = TRUE; else g_bStandPipeArc = FALSE; // g_iDimPipeGradientType = m_iDimPipeGradientType; // if(g_iDimPipeGradientType == 11) //11表示不标注 cet 2011.4.28 modify // g_iDimPipeGradientType = -1; // if(g_iDimPipeGradientType == 12) //14表示不标注 // g_iDimPipeGradientType = -1; // g_iDimPipeLen = m_iDimPipeLenType; // cet 2011.5.20 add g_iVPipeDimStyle = m_iVPipeDimStyle; g_nDrainPtRadius = m_nDrainPtRadius; g_iDefaultPipeDn = m_iPipeDn; g_nDimCirDiam = m_nDimCirRadius; g_nFeedCircleScale = m_nFeedCircleScale;//zxl 2012.04.16 add g_nWellRadius = m_nWellRadius; g_nDnDimDist2Pipe = m_nDnDimDist2Pipe; g_bToolbar = m_bToolbar; g_bTgOsnap = m_bTgOsnap; g_bBlk3D = m_bBlk3D; g_nStandPipe2Wall = m_nDist2Wall; g_nSprinklerRadius = m_nSprinklerRadius; g_bIsPipeDimCir = m_iDimType; g_nElbowRate = m_nElbowRate; g_nValveScale = m_nValveScale; g_dDbPipeLineWidth = m_dDbPipeLineWidth; // cet 2012.10.18 add g_nSinataryDataType = m_nSinataryDataType; g_dVPipeDimDn2Label = m_nDistDn2Label; g_bIsElevDimChangeByPipeElev = m_bIsElevDimChangeByPipeElev;// zxl 2013.11.20 add regProp.SetValue(_T("Dist2Wall"), m_nDist2Wall); regProp.SetValue(_T("SprinklerRadius"), g_nSprinklerRadius); regProp.SetValue(_T("DnDimDist2Pipe"), g_nDnDimDist2Pipe); regProp.SetValue(_T("IsPipeDimCir"), g_bIsPipeDimCir); regProp.SetValue(_T("WellRadius"), g_nWellRadius); regProp.SetValue(_T("DimCirDiam"), g_nDimCirDiam); regProp.SetValue(_T("FeedCircleScale"), g_nFeedCircleScale);//zxl 2012.04.16 add regProp.SetValue(_T("DefaultPipeDn"), g_iDefaultPipeDn); regProp.SetValue(_T("DrainPtRadius"), g_nDrainPtRadius); regProp.SetValue(_T("Toolbar"), g_bToolbar); regProp.SetValue(_T("TgOsnap"), g_bTgOsnap); regProp.SetValue(_T("DownloadT3Split"), g_bDownloadT3Split); regProp.SetValue(_T("IsStandPipeArc"), g_bStandPipeArc); // regProp.SetValue(_T("DimPipeGradientType"), g_iDimPipeGradientType); regProp.SetValue(_T("VPipeDimStyle"), g_iVPipeDimStyle); // regProp.SetValue(_T("DimPipeLen"), g_iDimPipeLen); // cet 2011.5.20 add regProp.SetValue(_T("DbPipeLineWidth"), g_dDbPipeLineWidth); // cet 2012.10.18 add regProp.SetValue(_T("SanitaryDataType"), g_nSinataryDataType); // zxl 2012.12.05 add regProp.SetValue(_T("VPipeDimDn2Label"), g_dVPipeDimDn2Label);// zxl 2013.08.23 add regProp.SetValue(_T("IsElevDimChangeByPipeElev"), g_bIsElevDimChangeByPipeElev); // zxl 2013.11.20 add regProp.SetValue(_T("Blk3D"), g_bBlk3D); regProp.SetValue(_T("ElbowRate"), m_nElbowRate); regProp.SetValue(_T("ValveScale"), g_nValveScale); // cet 2011.4.18 add 增加喷头间距模数设置 if (m_nWndCmbModulus == 0) { g_iSprinklerDistMod = 50; } else { g_iSprinklerDistMod = 100; } regProp.SetValue(_T("SprinklerDistMod"), g_iSprinklerDistMod); g_bEnableSelectPreview = m_bSelPreview; g_bAutoLTScale = m_bAutoScale; if(m_iUnit == 0){ DocSetMeterUnitDraw(FALSE); DocSetMeterUnitDim(FALSE); } else{ DocSetMeterUnitDraw(TRUE); DocSetMeterUnitDim(TRUE); if(DocGetPScale() > 50){ // g_nCirDeviation = 0.01; //SR 2009.2.11 7.x 不支持米单位下,自动算g_nCirDeviation DocSetPScale(1); DocStatus(); } } DocSetEleTriangleSize(m_dEleHeight); g_dEleTriangleSize = m_dEleHeight; SetConfigIni(); } UpdateData(FALSE); } void CTgTwtSettingDlg::OnButtonPipeSetting() { CTemporaryResourceOverride vTemp; // CPipeSettingDlg dlg; // dlg.DoModal(); CPipeSettingFrameDlg dlg; dlg.DoModal(); } void CTgTwtSettingDlg::OnPaint() { CPaintDC dc(this); OpenSlide(); } void CTgTwtSettingDlg::OpenSlide() { CWnd *pWnd = GetDlgItem(IDC_DIM_PREVIEW); if(m_iDimType == 0) DrawSlide(_T("TWT(JL1)"), pWnd); else if(m_iDimType == 1) DrawSlide(_T("TWT(JL2)"), pWnd); else if(m_iDimType == 2) DrawSlide(_T("TWT(JL3)"), pWnd); else if(m_iDimType == 3) DrawSlide(_T("TWT(JL4)"), pWnd); else if(m_iDimType == 4) DrawSlide(_T("TWT(JL5)"), pWnd); CWnd *pWnd2 = GetDlgItem(IDC_FEED_PREVIEW); if(m_iFeedPoint == 0) DrawSlide(_T("TWT(ELBOW0)"), pWnd2); else DrawSlide(_T("TWT(ELBOW1)"), pWnd2); CWnd *pWnd3 = GetDlgItem(IDC_STANDPIPE_PREVIEW); if(m_iStandPipeType == 0) DrawSlide(_T("TWT(STANDPIPE2)"), pWnd3); else DrawSlide(_T("TWT(STANDPIPE1)"), pWnd3); } void CTgTwtSettingDlg::OnRadioDim1() { UpdateData(TRUE); CWnd *pWnd = GetDlgItem(IDC_STATIC_DIM_RADIUS); if(m_iDimType == 1) { pWnd->SetWindowText(_T("圆半径")); m_nDimCirRadius = 4; } else { pWnd->SetWindowText(_T("文字距离")); m_nDimCirRadius = 2; } EnableBtnDimDn(FALSE); // cet 2012.4.19 add UpdateData(FALSE); OpenSlide(); } void CTgTwtSettingDlg::OnRadioDim2() { UpdateData(TRUE); CWnd *pWnd = GetDlgItem(IDC_STATIC_DIM_RADIUS); if(m_iDimType == 1) { pWnd->SetWindowText(_T("圆半径")); m_nDimCirRadius = 4; } else { pWnd->SetWindowText(_T("文字距离")); m_nDimCirRadius = 2; } EnableBtnDimDn(FALSE); // cet 2012.4.19 add UpdateData(FALSE); OpenSlide(); } void CTgTwtSettingDlg::OnRadioDim3() { UpdateData(TRUE); CWnd *pWnd = GetDlgItem(IDC_STATIC_DIM_RADIUS); if(m_iDimType == 1) { pWnd->SetWindowText(_T("圆半径")); m_nDimCirRadius = 4; } else { pWnd->SetWindowText(_T("文字距离")); m_nDimCirRadius = 2; } EnableBtnDimDn(FALSE); // cet 2012.4.19 add UpdateData(FALSE); OpenSlide(); } void CTgTwtSettingDlg::OnRadioDim4() { UpdateData(TRUE); CWnd *pWnd = GetDlgItem(IDC_STATIC_DIM_RADIUS); if(m_iDimType == 1) { pWnd->SetWindowText(_T("圆半径")); m_nDimCirRadius = 4; } else { pWnd->SetWindowText(_T("文字距离")); m_nDimCirRadius = 2; } EnableBtnDimDn(TRUE); // cet 2012.4.19 add UpdateData(FALSE); OpenSlide(); } void CTgTwtSettingDlg::OnRadioDim5() { UpdateData(TRUE); CWnd *pWnd = GetDlgItem(IDC_STATIC_DIM_RADIUS); if(m_iDimType == 1) { pWnd->SetWindowText(_T("圆半径")); m_nDimCirRadius = 4; } else { pWnd->SetWindowText(_T("文字距离")); m_nDimCirRadius = 2; } EnableBtnDimDn(FALSE); UpdateData(FALSE); OpenSlide(); } void CTgTwtSettingDlg::OnRadioPoint() { UpdateData(TRUE); OpenSlide(); } void CTgTwtSettingDlg::OnRadioFork() { UpdateData(TRUE); OpenSlide(); } void CTgTwtSettingDlg::OnRadioStandpipe1() { UpdateData(TRUE); OpenSlide(); } void CTgTwtSettingDlg::OnRadioStandpipe2() { UpdateData(TRUE); OpenSlide(); } //sr add 2007-3-28 修改上华配置文件ini void CTgTwtSettingDlg::SetConfigIni() { bool bEnableSelectPreview; if(g_bEnableSelectPreview) bEnableSelectPreview = true; else bEnableSelectPreview = false; bool bAutoScale; if(g_bAutoLTScale) bAutoScale = true; else bAutoScale = false; XString sFullFile; if(!FindFile(_T("config.ini"), sFullFile)) return; WDict dict; dict.ReadFile(sFullFile); OPEN_DICT(dict); OPEN_SUB_DICT(_T("系统")); SET_BOOL(_T("是否启用选择预览"), bEnableSelectPreview); OPEN_SUB_DICT(_T("线型")); SET_BOOL(_T("是否启用自动线型比例"), bAutoScale); CLOSE_SUB_DICT();//线型 CLOSE_SUB_DICT();//系统 OPEN_SUB_DICT(_T("符号标注")); OPEN_SUB_DICT(_T("标高标注")); SET_VALUE(_T("三角高度"), g_dEleTriangleSize); CLOSE_SUB_DICT();//线型 CLOSE_SUB_DICT();//符号标注 CLOSE_DICT(); dict.WriteFile(sFullFile); } void CTgTwtSettingDlg::OnButtonTextSetting() { CTemporaryResourceOverride vTemp; CTextSettingDlg dlg; dlg.DoModal(); } void CTgTwtSettingDlg::OnButtonOutdimset() { COutDimSettingDlg dlg; dlg.DoModal(); } void CTgTwtSettingDlg::OnButtonDndim() { CVPipeDimDnSettingDlg dlg; dlg.DoModal(); } void CTgTwtSettingDlg::EnableBtnDimDn( BOOL bEnable ) { CWnd *pWndDim = GetDlgItem(IDC_BUTTON_DNDIM); if (pWndDim != NULL) { pWndDim->EnableWindow(bEnable); } CWnd *pWnd = GetDlgItem(IDC_EDIT_DISTDN); if (pWndDim == NULL) { return; } if (m_iDimType == 4) { pWnd->EnableWindow(TRUE); } else { pWnd->EnableWindow(FALSE); } } void CTgTwtSettingDlg::OnChkT3text() { UpdateData(); if (m_bT3TextBreak) { g_bDownloadT3Split = 1; } else { g_bDownloadT3Split = 0; } MessageBox(_T("请注意:\n上华文字包含中英文等高信息以及字宽设置。\n如果取消打断,原文字保持整体不变,但英文字宽字高\n可能会发生变化,请注意设置【文字样式】西文参数为\n1,并选择中英文等高shx文件。"), _T("警告")); } void CTgTwtSettingDlg::OnBnClickedOk() { CDialog::OnOK(); OnMainDialogOK(); } void CTgTwtSettingDlg::OnBnClickedCancle() { CDialog::OnCancel(); }