#include "stdafx.h" #include "CSSZDlg.h" #include "UITools.h" extern GlobalContext* GetGlobalContext(); namespace { typedef void(_cdecl *setEnv)(); void setDimEnv() { #ifndef ZWCAD HINSTANCE hDllInst = ::LoadLibrary(FilePath::GetArxDir() + _T("\\wfK.arx")); #else HINSTANCE hDllInst = ::LoadLibrary(FilePath::GetArxDir() + _T("\\wfK.zrx")); #endif if (!hDllInst) { acutPrintf(_T("\nδÕÒµ½wfK.arx¡£")); return; } setEnv Func = (setEnv)::GetProcAddress(hDllInst, "setDimEnv"); if (Func) { Func(); ::FreeLibrary(hDllInst); } else acutPrintf(_T("\nº¯ÊýsetEnv»ñȡʧ°Ü¡£")); } } IMPLEMENT_DYNAMIC(CCSSZDlg, CDialog) CCSSZDlg::CCSSZDlg(CWnd* pParent /*=NULL*/) : CDialog(CCSSZDlg::IDD, pParent) , m_fW1(2.5f) , m_fW2(1.5f) , m_fT1(500.f) , m_fP1(100.f) , m_fP2(100.f) , m_sS1(_T("1:100")) , m_sS2(_T("1:100")) , m_fP3(10000.f) , m_fP4(100.f) , m_dS3(2.0) , m_dGr(2) , m_dAngle(5) , m_dM(5) , m_dF(1) , m_dX(.2) , m_nEleGripPos(1) , m_nDimDot(0) , m_dVSDrawOffset(60.0) , m_dH(.2) , m_sPipeMaxDia(_T("500")) , m_bZTDoubleLine(TRUE) , m_nSaveToProxy(0) { m_pInitxDataMap = NULL; } CCSSZDlg::~CCSSZDlg() { } void CCSSZDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_fW1); DDV_MinMaxFloat(pDX, m_fW1, 0, 5); DDX_Text(pDX, IDC_EDIT3, m_fW2); DDX_Text(pDX, IDC_EDIT4, m_fT1); DDX_Text(pDX, IDC_EDIT5, m_fP1); DDX_Text(pDX, IDC_EDIT6, m_fP2); DDX_CBString(pDX, IDC_COMBO1, m_sS1); DDX_CBString(pDX, IDC_COMBO2, m_sS2); DDX_Text(pDX, IDC_EDIT7, m_fP3); DDX_Text(pDX, IDC_EDIT8, m_fP4); DDX_Text(pDX, IDC_EDIT28, m_dS3); DDX_Text(pDX, IDC_EDIT9, m_dGr); DDX_Text(pDX, IDC_EDIT14, m_dAngle); DDX_Text(pDX, IDC_EDIT41, m_dM); DDX_Text(pDX, IDC_EDIT32, m_dF); DDX_Text(pDX, IDC_EDIT12, m_dX); DDX_Text(pDX, IDC_EDIT21, m_dH); DDX_Radio(pDX, IDC_RADIO5, m_nEleGripPos); DDX_Radio(pDX, IDC_RADIO7, m_nDimDot); DDX_Text(pDX, IDC_EDIT42, m_dVSDrawOffset); DDX_CBString(pDX, IDC_COMBO10, m_sPipeMaxDia); DDX_Check(pDX, IDC_CHECK1, m_bZTDoubleLine); DDX_Radio(pDX, IDC_RADIO10, m_nSaveToProxy); } BEGIN_MESSAGE_MAP(CCSSZDlg, CDialog) ON_BN_CLICKED(IDOK, &CCSSZDlg::OnBnClickedOk) END_MESSAGE_MAP() void CCSSZDlg::SetModelLayoutXData(AecDbObjXDataMap* pxDataMap) { m_pInitxDataMap = pxDataMap; } BOOL CCSSZDlg::OnInitDialog() { CDialog::OnInitDialog(); if (m_pInitxDataMap) { double w1 = 0.0, w2 = 0.0, t1 = 0.0, p1 = 0.0, p2 = 0.0,p3 = 10000.0f,p4 = 100.0F; m_pInitxDataMap->GetAt(_T("S1"), m_sS1); m_pInitxDataMap->GetAt(_T("S2"), m_sS2); m_pInitxDataMap->GetAt(_T("W1"), w1); m_pInitxDataMap->GetAt(_T("W2"), w2); m_pInitxDataMap->GetAt(_T("T1"), t1); m_pInitxDataMap->GetAt(_T("P1"), p1); m_pInitxDataMap->GetAt(_T("P2"), p2); m_pInitxDataMap->GetAt(_T("P3"), p3); m_pInitxDataMap->GetAt(_T("P4"), p4); m_pInitxDataMap->GetAt(_T("S3"), m_dS3); m_pInitxDataMap->GetAt(_T("G"), m_dGr); m_pInitxDataMap->GetAt(_T("A"), m_dAngle); m_pInitxDataMap->GetAt(_T("m_dM"), m_dM); m_pInitxDataMap->GetAt(_T("m_dF"), m_dF); m_pInitxDataMap->GetAt(_T("m_dX"), m_dX); m_pInitxDataMap->GetAt(_T("m_nDimDot"), m_nDimDot); m_pInitxDataMap->GetAt(_T("m_dVSDrawOffset"), m_dVSDrawOffset); m_pInitxDataMap->GetAt(_T("m_dH"), m_dH); m_pInitxDataMap->GetAt(DOC_PIPEMAXDIA, m_sPipeMaxDia); m_pInitxDataMap->GetAt(_T("ZTDoubleLine"), m_bZTDoubleLine); m_pInitxDataMap->GetAt(_T("SaveToProxy"), m_nSaveToProxy); m_fW1 = (float)w1; m_fW2 = (float)w2; m_fT1 = (float)t1; m_fP1 = (float)p1; m_fP2 = (float)p2; m_fP3 = (float)p3; m_fP4 = (float)p4; } m_nEleGripPos = GetGlobalContext()->g_nEleGripPos; UpdateData(FALSE); return TRUE; } void CCSSZDlg::OnBnClickedOk() { UpdateData(TRUE); if (m_pInitxDataMap != NULL) { m_pInitxDataMap->SetAt(_T("S1"), m_sS1); m_pInitxDataMap->SetAt(_T("S2"), m_sS2); m_pInitxDataMap->SetAt(_T("W1"), m_fW1); m_pInitxDataMap->SetAt(_T("W2"), m_fW2); m_pInitxDataMap->SetAt(_T("T1"), m_fT1); m_pInitxDataMap->SetAt(_T("P1"), m_fP1); m_pInitxDataMap->SetAt(_T("P2"), m_fP2); m_pInitxDataMap->SetAt(_T("P3"), m_fP3); m_pInitxDataMap->SetAt(_T("P4"), m_fP4); m_pInitxDataMap->SetAt(_T("S3"),m_dS3); m_pInitxDataMap->SetAt(_T("G"),m_dGr); m_pInitxDataMap->SetAt(_T("A"),m_dAngle); m_pInitxDataMap->SetAt(_T("m_dM"),m_dM); m_pInitxDataMap->SetAt(_T("m_dF"),m_dF); m_pInitxDataMap->SetAt(_T("m_dX"),m_dX); m_pInitxDataMap->SetAt(_T("m_nDimDot"),m_nDimDot); m_pInitxDataMap->SetAt(_T("m_dVSDrawOffset"),m_dVSDrawOffset); m_pInitxDataMap->SetAt(_T("m_dH"),m_dH); m_pInitxDataMap->SetAt(DOC_PIPEMAXDIA,m_sPipeMaxDia); m_pInitxDataMap->SetAt(_T("ZTDoubleLine"),m_bZTDoubleLine); m_pInitxDataMap->SetAt(_T("SaveToProxy"), m_nSaveToProxy); } GetGlobalContext()->g_nEleGripPos = m_nEleGripPos; setDimEnv(); OnOK(); }