690 lines
21 KiB
C++
690 lines
21 KiB
C++
// 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;
|
|
} |