// TchInitSet1Dlg.cpp : implementation file // #include "stdafx.h" #include "resource.h" #include "TchInitSet1Dlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CTchInitSet1Dlg dialog extern TARCH_IMPEXP void SaveGlobalToReg(); extern TARCH_IMPEXP BOOL g_nLineDimArrow; // 0--粗斜线; 1--细斜线; 2--圆点 extern TARCH_IMPEXP BOOL g_nAngleDimArrow; // 0--标准箭头; 1--圆点 extern TARCH_IMPEXP double g_nCurtainWall3Scale; extern TARCH_IMPEXP int g_nDimNumGripTip; extern TARCH_IMPEXP int g_nSpeedMenu; extern TARCH_IMPEXP int g_nRBtnMenuTime; extern TARCH_IMPEXP int g_nWallBaseColor; extern TARCH_IMPEXP BOOL g_bABCoord; extern TARCH_IMPEXP BOOL g_bHideCaption; extern TARCH_IMPEXP BOOL g_bDblClkEditObj;//add by whl extern TARCH_IMPEXP BOOL g_bAutoOpenRecent; extern BOOL IsScreenMenuVisible(); //extern "C" HINSTANCE _hdllInstance; extern int ShowScreenMenu(BOOL bTrue); // 2010年3月15日 wubo // 移植Geo // extern TARCH_IMPEXP void DocStatus(); extern TARCH_IMPEXP double g_nWalkDistStep; extern TARCH_IMPEXP double g_nWalkAngleStep; //extern TARCH_IMPEXP BOOL g_bBlaconyHalf; extern GEOAPI BOOL g_bExplodeMesh; static CTchInitSet1Dlg* g_pInitSet1Dlg=NULL; CTchInitSet1Dlg::CTchInitSet1Dlg(CWnd* pParent /*=NULL*/) : CAcUiTabChildDialog(pParent) , m_dText2BaseRatio(0) //, m_bSaveOldVersion(FALSE) , m_iDITextStyle(2) , m_bProWinSlabInsu(TRUE) , m_strDwgIndexScale(_T("")) , m_nSpaceAreaPrecision(0) , m_strAngleSimbolHeight(_T("")) , m_strLeaderDist(_T("")) , m_strDoteSize(_T("")) , m_strCrossSize(_T("")) , m_nDrawUnitType(0) , m_nDimUnitType(0) { //{{AFX_DATA_INIT(CTchInitSet1Dlg) m_bAreaUnit = FALSE; m_bDimAdjust = FALSE; m_nDimAdjMode = -1; m_bDimCheck = FALSE; m_nWallApearance = -1; m_csElevDiff = _T(""); m_csLHeight = _T(""); m_csMaxDimGrip = _T(""); m_nOsWallBase = -1; m_csPScale = _T(""); m_nDrawMode = -1; m_bSpaceArea = FALSE; m_nCoordMode = -1; m_bHideCaption=g_bHideCaption; m_bDblClkEditObj=g_bDblClkEditObj;//add by whl m_iStairSect=0; m_bCapLabel=FALSE; m_nSpaceAreaPrecision = 2; TDbConfig *pConfig=GetDwgGlobal(AcDb::kForRead); if (pConfig) { if (pConfig->IsSingleSect()) m_iStairSect=1; m_bCapLabel=pConfig->IsCapLabel(); m_nSpaceAreaPrecision = pConfig->GetSpaceAreaPrecision(); pConfig->close(); } int nSpCode=DocGetSpaceDispMode(); m_bAreaUnit = (nSpCode&SPF_UNIT)!=0; m_bSpaceArea = (nSpCode&SPF_AREA)!=0; m_bDimAdjust = (g_nDimAdjust!=0); m_nDimAdjMode = g_nDimAdjust-1; m_bDimCheck = DocGetCheckDim(); m_nWallApearance = DocGetShowBase(); m_csElevDiff = (const TCHAR *)Dist2Str(DocGetElevDiff()); m_csLHeight = (const TCHAR *)Dist2Str(DocGetLHeight()); m_csMaxDimGrip.Format(_T("%d"), g_nDimNumGripTip); m_nOsWallBase = g_nOsnapType; //m_csPScale = (const TCHAR *)Dist2Str(DocGetPScale()); m_csPScale.Format(_T("%g"), DocGetPScale()); m_nDrawMode = DocGetDrawMode()-1; m_nCoordMode = g_bABCoord; m_nWallBaseColor=g_nWallBaseColor; m_bLevelLine = DocGetLevelLine(); //if (!DocGetMeterUnitDraw()) //{ // if (DocGetMeterUnitDim()) // m_nUnitType=1; // else // m_nUnitType=0; //} //else // m_nUnitType=2; m_nDimUnitType = DocGetMeterUnitDim() == TRUE ? 1 : 0; m_nDrawUnitType = DocGetMeterUnitDraw() == TRUE ? 1 : 0; m_dText2BaseRatio = DocGetText2BaseRatio(); // sg modify 110210,圆圈文字样式,由复选框改为单选按钮 //m_bSaveOldVersion = DocGetOldDrawingIndex(); m_iDITextStyle = DocGetDrawingIndexStyle(); if (m_iDITextStyle == 3) { m_iDITextStyle--; } // sg add 110210,增加“凸窗档板、门窗套保温设置” m_bProWinSlabInsu = DocGetProWinSlabInsu(); m_strDwgIndexScale.Format(_T("%.2lg"),DocGetDITextRatio()); m_strAngleSimbolHeight.Format(_T("%.2lg"),DocGetEleTriangleSize()); m_strLeaderDist.Format(_T("%.2lg"),DocGetMultiLeaderDistRatio()); m_strDoteSize.Format(_T("%.2lg"),DocGetEleDoteSize()*2); m_strCrossSize.Format(_T("%.2lg"),DocGetEleCrossSize()); // sg add 120615,增加“弧长新旧标准”切换设置 m_nArcLenDimType = 1-DocGetArcLenDimType(); // rmoved by lgh 20101104 这个数据不再需要 // m_bBlaconyHalf=g_bBlaconyHalf; } void CTchInitSet1Dlg::DoDataExchange(CDataExchange* pDX) { CAcUiTabChildDialog::DoDataExchange(pDX); DDX_CBIndex(pDX,IDC_UNIT,m_nUnitType);//单位换算 DDX_CBIndex(pDX,IDC_DRAWUNIT,m_nDrawUnitType);//单位换算 DDX_CBIndex(pDX,IDC_DIMUNIT,m_nDimUnitType);//单位换算 DDX_Text(pDX, IDC_LHEIGHT, m_csLHeight);//当前层高 DDX_Text(pDX, IDC_PSCALE, m_csPScale);//当前比例 DDX_Radio(pDX, IDC_SHOW2D, m_nDrawMode);//显示模式 DDX_Radio(pDX, IDC_STAIR_DSECT, m_iStairSect);//楼梯 DDX_Check(pDX, IDC_CAP_LABEL, m_bCapLabel);//门窗是否大写 DDX_Text(pDX, IDC_TEXTQUOTIETY, m_dText2BaseRatio); DDX_Text(pDX, IDC_DWGINDEXTEXTSCALE, m_strDwgIndexScale); DDX_CBIndex(pDX, IDC_DOT, m_nSpaceAreaPrecision); DDX_Text(pDX, IDC_ANGLESIMBOLHEIGHT, m_strAngleSimbolHeight); DDX_Text(pDX, IDC_LEADERDIS, m_strLeaderDist); DDX_Text(pDX, IDC_DOTSIZE, m_strDoteSize); DDX_Text(pDX, IDC_CROSSSIZE, m_strCrossSize); // rmoved by lgh 20101104 这个数据不再需要 // DDX_Check(pDX, IDC_CHECK_BLAHALF, m_bBlaconyHalf); // sg modify 110210,圆圈文字样式,由复选框改为单选按钮 // DDX_Check(pDX, IDC_CAP_SAVEOLDVER, m_bSaveOldVersion); DDX_Radio(pDX, IDC_RADIO_CT_NEWSTYLE, m_iDITextStyle); // sg add 110210,增加“凸窗档板、门窗套保温设置” DDX_Check(pDX, IDC_CHECK_PROWIN_SLABINSU, m_bProWinSlabInsu); // sg add 120615,增加“弧长新旧标准”切换设置 DDX_Radio(pDX, IDC_STAIR_ARCLEN_DIMTYPE1, m_nArcLenDimType); } BEGIN_MESSAGE_MAP(CTchInitSet1Dlg, CAcUiTabChildDialog) //{{AFX_MSG_MAP(CTchInitSet1Dlg) //}}AFX_MSG_MAP ON_CBN_SELCHANGE(IDC_UNIT, OnCbnSelchangeUnit) ON_CBN_SELCHANGE(IDC_DRAWUNIT, OnCbnSelchangeDrawUnit) ON_CBN_SELCHANGE(IDC_DIMUNIT, OnCbnSelchangeDimUnit) ON_STN_CLICKED(IDC_STATIC31, CTchInitSet1Dlg::OnStnClickedStatic31) ON_CBN_SELCHANGE(IDC_PSCALE, CTchInitSet1Dlg::OnCbnSelchangePscale) ON_MESSAGE(TARCH_SETTING_MSG_UPDATA,OnReUpdataDlg) ON_CBN_SELCHANGE(IDC_LHEIGHT, CTchInitSet1Dlg::OnCbnSelchangePscale) ON_BN_CLICKED(IDC_SHOW2D, CTchInitSet1Dlg::OnBnClickedShow2d) ON_BN_CLICKED(IDC_SHOW2D2, CTchInitSet1Dlg::OnBnClickedShow2d) ON_BN_CLICKED(IDC_SHOW_AUTO, CTchInitSet1Dlg::OnBnClickedShow2d) ON_BN_CLICKED(IDC_STAIR_DSECT, CTchInitSet1Dlg::OnBnClickedShow2d) ON_BN_CLICKED(IDC_STAIR_SSECT, CTchInitSet1Dlg::OnBnClickedShow2d) ON_BN_CLICKED(IDC_CAP_LABEL, CTchInitSet1Dlg::OnBnClickedShow2d) ON_BN_CLICKED(IDC_DIM_ARCH_THIN, CTchInitSet1Dlg::OnBnClickedShow2d) ON_BN_CLICKED(IDC_DIM_DOTE, CTchInitSet1Dlg::OnBnClickedShow2d) ON_BN_CLICKED(IDC_DOTE, CTchInitSet1Dlg::OnBnClickedShow2d) ON_BN_CLICKED(IDC_CHECK_BLAHALF, CTchInitSet1Dlg::OnBnClickedShow2d) ON_CBN_SELCHANGE(IDC_DOT, CTchInitSet1Dlg::OnCbnSelchangePscale) ON_EN_CHANGE(IDC_TEXTQUOTIETY, CTchInitSet1Dlg::OnEnChangeDwgindextextscale) ON_EN_CHANGE(IDC_DWGINDEXTEXTSCALE, CTchInitSet1Dlg::OnEnChangeDwgindextextscale) ON_EN_CHANGE(IDC_ANGLESIMBOLHEIGHT, CTchInitSet1Dlg::OnEnChangeDwgindextextscale) ON_EN_CHANGE(IDC_LEADERDIS, CTchInitSet1Dlg::OnEnChangeDwgindextextscale) ON_EN_CHANGE(IDC_DOTSIZE, CTchInitSet1Dlg::OnEnChangeDwgindextextscale) ON_EN_CHANGE(IDC_CROSSSIZE, CTchInitSet1Dlg::OnEnChangeDwgindextextscale) // sg modify 110210,圆圈文字样式,由复选框改为单选按钮 // ON_BN_CLICKED(IDC_CAP_SAVEOLDVER, CTchInitSet1Dlg::OnBnClickedSaveOldVer) ON_BN_CLICKED(IDC_RADIO_CT_NEWSTYLE, CTchInitSet1Dlg::OnBnClickedDrawingIndexTextStyle) ON_BN_CLICKED(IDC_RADIO_CT_OLDSTYLE, CTchInitSet1Dlg::OnBnClickedDrawingIndexTextStyle) ON_BN_CLICKED(IDC_RADIO_CT_OUTCIRCLE, CTchInitSet1Dlg::OnBnClickedDrawingIndexTextStyle) // sg add 110210,增加“凸窗档板、门窗套保温设置” ON_BN_CLICKED(IDC_CHECK_PROWIN_SLABINSU, CTchInitSet1Dlg::OnBnClickedProWinSlabInsu) // sg add 120615,增加“弧长新旧标准”切换设置 ON_BN_CLICKED(IDC_STAIR_ARCLEN_DIMTYPE1, CTchInitSet1Dlg::OnBnClickedShow2d) ON_BN_CLICKED(IDC_STAIR_ARCLEN_DIMTYPE1, CTchInitSet1Dlg::OnBnClickedShow2d) ON_WM_SIZE() ON_WM_PAINT() ON_WM_DESTROY() ON_WM_CTLCOLOR() END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTchInitSet1Dlg message handlers void CTchInitSet1Dlg::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); if (nType==SIZE_MINIMIZED) return; } LRESULT CTchInitSet1Dlg::OnReUpdataDlg(WPARAM w,LPARAM l) { RetDefault(); return 0; } void CTchInitSet1Dlg::UpdateGlobal() { UpdateData(TRUE); BOOL bUpdSpace=FALSE, bUpdWallColu=FALSE, bUpdDim=FALSE, bUpdGlass=FALSE, bUpdTch=FALSE; int nSpCode=DocGetSpaceDispMode(); if (((nSpCode&SPF_UNIT)!=0)!=m_bAreaUnit || ((nSpCode&SPF_AREA)!=0)!=m_bSpaceArea) bUpdSpace=TRUE; if (m_bAreaUnit) nSpCode|=SPF_UNIT; else nSpCode &= ~SPF_UNIT; if (m_bSpaceArea) nSpCode|=SPF_AREA; else nSpCode &= ~SPF_AREA; DocSetSpaceDispMode(nSpCode); //if (m_nUnitType==0) //{ // DocSetMeterUnitDraw(FALSE); // DocSetMeterUnitDim(FALSE); //} //else if (m_nUnitType==1) //{ // DocSetMeterUnitDraw(FALSE); // DocSetMeterUnitDim(TRUE); //} //else //{ // DocSetMeterUnitDraw(TRUE); // DocSetMeterUnitDim(TRUE); //} DocSetMeterUnitDraw(m_nDrawUnitType == 0 ? FALSE : TRUE); DocSetMeterUnitDim(m_nDimUnitType == 0 ? FALSE : TRUE); if (m_bDimAdjust) g_nDimAdjust=m_nDimAdjMode+1; else g_nDimAdjust=0; bUpdDim=(DocGetCheckDim()!=m_bDimCheck); DocSetCheckDim(m_bDimCheck); if (m_nWallApearance!=DocGetShowBase() && !bUpdWallColu) bUpdWallColu=TRUE; DocSetShowBase(m_nWallApearance); if (_tstof(m_csElevDiff)>=0.0) DocSetElevDiff(_tstof(m_csElevDiff)); if (_tstof(m_csLHeight)>_DIST_SNAP) DocSetLHeight(_tstof(m_csLHeight)); if (_ttoi(m_csMaxDimGrip)>1 && _ttoi(m_csMaxDimGrip)<100) g_nDimNumGripTip=_ttoi(m_csMaxDimGrip); DocSetWallOsnapType(m_nOsWallBase); //if (_tstof(m_csPScale)>0.1) //{ // DocSetPScale(_tstof(m_csPScale)); // DocStatus(); //} DocSetPScale(_tstof(m_csPScale)); DocStatus(); if (DocGetDrawMode()!=m_nDrawMode+1) bUpdTch=FALSE; DocSetDrawMode(m_nDrawMode+1); g_bABCoord=m_nCoordMode; if (g_nWallBaseColor!=m_nWallBaseColor && m_nWallApearance) bUpdWallColu=TRUE; g_nWallBaseColor=m_nWallBaseColor; if (DocGetLevelLine()!=m_bLevelLine) bUpdWallColu=TRUE; DocSetLevelLine(m_bLevelLine); if (g_bHideCaption!=m_bHideCaption) { g_bHideCaption=m_bHideCaption; if (g_bHideCaption) acedGetAcadFrame()->ModifyStyle(WS_CAPTION,0,SWP_FRAMECHANGED); else acedGetAcadFrame()->ModifyStyle(0,WS_CAPTION,SWP_FRAMECHANGED); } g_bDblClkEditObj=m_bDblClkEditObj;//add by whl // rmoved by lgh 20101104 这个数据不再需要 // g_bBlaconyHalf=m_bBlaconyHalf; TDbConfig *pConfig=GetDwgGlobal(AcDb::kForWrite); if (pConfig) { pConfig->SetSingleSect(m_iStairSect==1); pConfig->SetCapLabel(m_bCapLabel); pConfig->SetSpaceAreaPrecision(m_nSpaceAreaPrecision); pConfig->close(); } DocSetText2BaseRatio(m_dText2BaseRatio); DocSetDITextRatio(_tstof(m_strDwgIndexScale)); DocSetArcLenDimType(1-m_nArcLenDimType); // sg add 120615,增加“弧长新旧标准”切换设置 // sg modify 110210,圆圈文字样式,由复选框改为单选按钮 // DocSetOldDrawingIndex(m_bSaveOldVersion); if (m_iDITextStyle == 2) { m_iDITextStyle++; } DocSetDrawingIndexStyle(m_iDITextStyle); // sg add 110210,增加“凸窗档板、门窗套保温设置” DocSetProWinSlabInsu(m_bProWinSlabInsu); DocSetEleTriangleSize(_tstof(m_strAngleSimbolHeight)); DocSetMultiLeaderDistRatio(_tstof(m_strLeaderDist)); DocSetEleDoteSize(_tstof(m_strDoteSize)/2); DocSetEleCrossSize(_tstof(m_strCrossSize)); SaveGlobalToReg(); } void CTchInitSet1Dlg::OnOK() { CAcUiTabChildDialog::OnOK(); UpdateGlobal(); } void CTchInitSet1Dlg::PostNcDestroy() { // TODO: Add your specialized code here and/or call the base class CAcUiTabChildDialog::PostNcDestroy(); delete g_pInitSet1Dlg; g_pInitSet1Dlg = NULL; } BOOL CTchInitSet1Dlg::OnInitDialog() { CAcUiTabChildDialog::OnInitDialog(); int nItem=m_BaseColorBox.FindItemByColorIndex(g_nWallBaseColor); if (nItem<0) { m_BaseColorBox.AddColorToMRU(m_nWallBaseColor); nItem=m_BaseColorBox.FindItemByColorIndex(m_nWallBaseColor); } if (nItem>=0) m_BaseColorBox.SetCurSel(nItem); //add by xlc on 090723 旧圆圈文字样式时不显示圆圈字高系数 GetDlgItem(IDC_DWGINDEXTEXTSCALE)->EnableWindow(m_iDITextStyle!=1); SetDirty(); m_wndToolTip.Create(this); m_wndToolTip.Activate(true); m_wndToolTip.SetMaxTipWidth(250); m_wndToolTip.SetDelayTime(TTDT_AUTOPOP, 4*m_wndToolTip.GetDelayTime(TTDT_AUTOPOP)); //modify by lgy 20120411 上华选项提示变化 //AddTip(IDC_STATIC136, _T("包括坐标、标高、箭头、引出、文字在线上的坐标法标注以及索引符号的线上标注文字")); AddTip(IDC_STATIC136, _T("包括坐标、标高、引出、文字在线上的做法标注、索引符号的线上标注文字以及剖切符号的剖面图号")); SetPicture(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CTchInitSet1Dlg::OnMainDialogOK() { CAcUiTabChildDialog::OnMainDialogOK(); UpdateGlobal(); } void CTchInitSet1Dlg::OnCbnSelchangeUnit() { int oldType=m_nUnitType; UpdateData(); /*if (oldType!=m_nUnitType) { if (m_nUnitType==2&&m_csPScale==Dist2Str(100)) { m_csPScale=Dist2Str(1); UpdateData(FALSE); } else if (oldType==2&&m_csPScale==Dist2Str(1)) { m_csPScale=Dist2Str(100); UpdateData(FALSE); } UpdateData(TRUE); }*/ //当从2变 1 或者 0的时候,*1000 //当1 或者 0b变2的时候,/1000 if ((oldType == 1 || oldType == 0) && m_nUnitType == 2) { double dPscale = _wtof(m_csPScale) / 1000.0; //m_csPScale = Dist2Str(dPscale); m_csPScale.Format(_T("%g"), dPscale); UpdateData(FALSE); } else if (oldType == 2 && (m_nUnitType == 1 || m_nUnitType == 0)) { double dPscale = _wtof(m_csPScale) * 1000.0; //m_csPScale = Dist2Str(dPscale); m_csPScale.Format(_T("%g"), dPscale); UpdateData(FALSE); } GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); } void CTchInitSet1Dlg::OnCbnSelchangeDrawUnit() { int oldType = m_nDrawUnitType; UpdateData(TRUE); if (oldType == 0 && m_nDrawUnitType == 1) // mm -> M /1000 { double dPscale = _wtof(m_csPScale) / 1000.0; m_csPScale.Format(_T("%g"), dPscale); UpdateData(FALSE); } else if (oldType == 1 && m_nDrawUnitType == 0) // M -> mm *1000 { double dPscale = _wtof(m_csPScale) * 1000.0; m_csPScale.Format(_T("%g"), dPscale); UpdateData(FALSE); } GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); } void CTchInitSet1Dlg::OnCbnSelchangeDimUnit() { UpdateData(TRUE); } void CTchInitSet1Dlg::RetDefault()//恢复默认,等同于初始化时的设置 { m_bAreaUnit = FALSE; m_bDimAdjust = FALSE; m_nDimAdjMode = -1; m_bDimCheck = FALSE; m_nWallApearance = -1; m_csElevDiff = _T(""); m_csLHeight = _T(""); m_csMaxDimGrip = _T(""); m_nOsWallBase = -1; m_csPScale = _T(""); m_nDrawMode = -1; m_bSpaceArea = FALSE; m_nCoordMode = -1; m_bHideCaption=g_bHideCaption; m_bDblClkEditObj=g_bDblClkEditObj;//add by whl m_iStairSect=0; m_bCapLabel=FALSE; //}}AFX_DATA_INIT TDbConfig *pConfig=GetDwgGlobal(AcDb::kForRead); if (pConfig) { if (pConfig->IsSingleSect()) m_iStairSect=1;//楼梯 m_bCapLabel=pConfig->IsCapLabel();//门窗编号大写 m_nSpaceAreaPrecision = pConfig->GetSpaceAreaPrecision(); pConfig->close(); } int nSpCode=DocGetSpaceDispMode(); m_bAreaUnit = (nSpCode&SPF_UNIT)!=0; m_bSpaceArea = (nSpCode&SPF_AREA)!=0; m_bDimAdjust = (g_nDimAdjust!=0); m_nDimAdjMode = g_nDimAdjust-1; m_bDimCheck = DocGetCheckDim(); m_nWallApearance = DocGetShowBase(); m_csElevDiff = (const TCHAR *)Dist2Str(DocGetElevDiff()); m_csLHeight = (const TCHAR *)Dist2Str(DocGetLHeight());//当前层高 m_csMaxDimGrip.Format(_T("%d"), g_nDimNumGripTip); m_nOsWallBase = g_nOsnapType; //m_csPScale = (const TCHAR *)Dist2Str(DocGetPScale());//当前比例 m_csPScale.Format(_T("%g"), DocGetPScale());//当前比例 m_nDrawMode = DocGetDrawMode()-1;//显示模式 m_nCoordMode = g_bABCoord; m_nWallBaseColor=g_nWallBaseColor; m_bLevelLine = DocGetLevelLine(); if (!DocGetMeterUnitDraw())//单位换算 { if (DocGetMeterUnitDim()) m_nUnitType=1; else m_nUnitType=0; } else m_nUnitType=2; m_dText2BaseRatio = DocGetText2BaseRatio(); m_strDwgIndexScale.Format(_T("%.2lg"),DocGetDITextRatio()); // sg modify 110210,圆圈文字样式,由复选框改为单选按钮 //m_bSaveOldVersion = DocGetOldDrawingIndex(); m_iDITextStyle = DocGetDrawingIndexStyle(); if (m_iDITextStyle == 3) { m_iDITextStyle--; } this->GetDlgItem(IDC_DWGINDEXTEXTSCALE)->EnableWindow(m_iDITextStyle!=1); // sg add 110210,增加“凸窗档板、门窗套保温设置” m_bProWinSlabInsu = DocGetProWinSlabInsu(); m_strAngleSimbolHeight.Format(_T("%.2lg"),DocGetEleTriangleSize()); m_strLeaderDist.Format(_T("%.2lg"),DocGetMultiLeaderDistRatio()); m_strDoteSize.Format(_T("%.2lg"),DocGetEleDoteSize()*2); m_strCrossSize.Format(_T("%.2lg"),DocGetEleCrossSize()); m_nArcLenDimType = 1-DocGetArcLenDimType(); // sg add 120615,增加“弧长新旧标准”切换设置 // removed by lgh. 20101104。这个数据不再需要 // m_bBlaconyHalf=g_bBlaconyHalf; UpdateData(FALSE); } void CTchInitSet1Dlg::OnStnClickedStatic31() { GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); } void CTchInitSet1Dlg::OnCbnSelchangePscale() { GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); } // sg modify 110210,圆圈文字样式,由复选框改为单选按钮 /* void CTchInitSet1Dlg::OnBnClickedSaveOldVer() { m_bSaveOldVersion=!m_bSaveOldVersion; this->GetDlgItem(IDC_DWGINDEXTEXTSCALE)->EnableWindow(!m_bSaveOldVersion); GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); } */ void CTchInitSet1Dlg::OnBnClickedDrawingIndexTextStyle() { UpdateData(TRUE); GetDlgItem(IDC_DWGINDEXTEXTSCALE)->EnableWindow(m_iDITextStyle!=1); SetPicture(); GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); } // sg add 110210,增加“凸窗档板、门窗套保温设置” void CTchInitSet1Dlg::OnBnClickedProWinSlabInsu() { m_bProWinSlabInsu = !m_bProWinSlabInsu; GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); } void CTchInitSet1Dlg::OnBnClickedShow2d() { GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); } void CTchInitSet1Dlg::OnEnChangeDwgindextextscale() { GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); } // 设置幻灯片显示 void CTchInitSet1Dlg::SetPicture() { XString sFilePath(256); if (m_iDITextStyle == 0) { sFilePath << _T("TArch(INDEXMK02)"); } else if (m_iDITextStyle == 1) { sFilePath << _T("TArch(INDEXMK01)"); } else { sFilePath << _T("TArch(INDEXMK03)"); } // 获得图片控件 CWnd* pWndBmp = GetDlgItem(IDC_STATIC_IMAGE); // 获得图片区域 CDC *pDC = pWndBmp->GetDC(); CRect rect; pWndBmp->GetClientRect(rect); m_imgPreview.InitDC(pDC, rect, GetAcadBackColor()); m_imgPreview.PaintSlide(sFilePath); m_imgPreview.SetDC(NULL); pWndBmp->ReleaseDC(pDC); } // 窗口重绘消息 void CTchInitSet1Dlg::OnPaint() { CPaintDC dc(this); CRect rcClip, rcImage; dc.GetClipBox(&rcClip); CWnd *pImageBox = GetDlgItem(IDC_STATIC_IMAGE); if (pImageBox) { pImageBox->GetWindowRect(&rcImage); ScreenToClient(&rcImage); if (rcImage.IntersectRect(&rcImage, &rcClip)) { CDC *pDC = pImageBox->GetDC(); m_imgPreview.SetDC(pDC); m_imgPreview.Redraw(); m_imgPreview.SetDC(NULL); pImageBox->ReleaseDC(pDC); } } } void CTchInitSet1Dlg::OnDestroy() { m_wndToolTip.DestroyWindow(); CAcUiTabChildDialog::OnDestroy(); } BOOL CTchInitSet1Dlg::PreTranslateMessage(MSG* pMsg) { CToolInfo toolInfo; if (pMsg->message >= WM_MOUSEFIRST && pMsg->message <= WM_MOUSELAST&&m_wndToolTip.GetToolInfo(toolInfo,FromHandle(pMsg->hwnd))) { MSG msg; memcpy(&msg, pMsg, sizeof(MSG)); m_wndToolTip.RelayEvent(&msg); } return CAcUiTabChildDialog::PreTranslateMessage(pMsg); } BOOL CTchInitSet1Dlg::AddTip(UINT idControl,const TCHAR *str) { CWnd *pWnd = GetDlgItem(idControl); if (!pWnd) return FALSE; if (str==NULL) { HINSTANCE hInstance=AfxGetInstanceHandle(); int nRet; CString strTip; if (!hInstance) nRet=strTip.LoadString(idControl); else { TCHAR szTemp[1024]=_T(""); nRet=::LoadString(hInstance, idControl, szTemp, 1024); if (nRet) strTip=szTemp; } if (nRet) return m_wndToolTip.AddTool(pWnd,strTip)!=0; } return m_wndToolTip.AddTool(pWnd,str)!=0; } HBRUSH CTchInitSet1Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CAcUiTabChildDialog::OnCtlColor(pDC, pWnd, nCtlColor); if (pWnd->IsWindowEnabled()) { CToolInfo toolInfo; if (m_wndToolTip.GetToolInfo(toolInfo, pWnd)) pDC->SetTextColor(RGB(0,0,255)); } return hbr; }