// UserOpreatorSet.cpp : 实现文件 // #include "stdafx.h" #include "UserOpreatorSet.h" // CUserOpreatorSet 对话框 extern TARCH_IMPEXP BOOL g_bDwgTabBar,g_bZoomKey,g_nRBtnMenuTime,g_nSpeedMenu; extern TARCH_IMPEXP void SaveGlobalToReg(); extern TARCH_IMPEXP BOOL g_bEnableSelectPreview;//是否选择预览 extern TARCH_IMPEXP BOOL g_bAutoFocus;//自动十字光标 extern TARCH_IMPEXP BOOL g_bAutoOpenRecent; extern TARCH_IMPEXP double g_nWalkDistStep; extern TARCH_IMPEXP double g_nWalkAngleStep; IMPLEMENT_DYNAMIC(CUserOpreatorSet, CAcUiTabChildDialog) CUserOpreatorSet::CUserOpreatorSet(CWnd* pParent /*=NULL*/) : CAcUiTabChildDialog(pParent) { //{{AFX_DATA_INIT(CFontPropertyPage) m_bChecked = FALSE; m_nRClick = -1; m_bShortcutMenu = FALSE; m_bZoomKey=g_bZoomKey; m_nMenuTime=g_nRBtnMenuTime; m_nRClick = g_nSpeedMenu-1; m_bShortcutMenu = (g_nSpeedMenu!=0); m_bAutoCross = g_bAutoFocus; m_bPreView = g_bEnableSelectPreview; m_bAutoRecent = g_bAutoOpenRecent; m_bModelNumber=g_bModelNumber; m_nWallNumber=AS_INT(g_nWallStep); m_nWindowNumber=AS_INT(g_nWinStep); m_csWalkDist = (const TCHAR *)Dist2Str(g_nWalkDistStep); m_csWalkAngle.Format(_T("%.2f"), g_nWalkAngleStep*180/PI); //}}AFX_DATA_INIT } CUserOpreatorSet::~CUserOpreatorSet() { } void CUserOpreatorSet::DoDataExchange(CDataExchange* pDX) { CAcUiTabChildDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CFontPropertyPage) DDX_Radio(pDX, IDC_RCLICK, m_nRClick); DDX_Check(pDX, IDC_SHORTCUT_MENU, m_bShortcutMenu); DDX_Check(pDX, IDC_ZOOM_KEY, m_bZoomKey); DDX_Check(pDX,IDC_PREVIEW_KEY,m_bPreView); DDX_Check(pDX,IDC_AUTOCROSS_KEY,m_bAutoCross); DDX_Text(pDX, IDC_MENU_TIME, m_nMenuTime); DDV_MinMaxUInt(pDX, m_nMenuTime, 0, 5000); if (!pDX->m_bSaveAndValidate) { GetDlgItem(IDC_WALL_NUMBER)->EnableWindow(m_bModelNumber); GetDlgItem(IDC_WINDOW_NUMBER)->EnableWindow(m_bModelNumber); GetDlgItem(IDC_RCLICK)->EnableWindow(m_bShortcutMenu); GetDlgItem(IDC_CTRL_RCLICK)->EnableWindow(m_bShortcutMenu); GetDlgItem(IDC_SLOW_RCLICK)->EnableWindow(m_bShortcutMenu); GetDlgItem(IDC_MENU_TIME)->EnableWindow(m_bShortcutMenu&&m_nRClick==2); } DDX_Check(pDX, IDC_MODEL_NUMBER, m_bModelNumber); DDX_Text(pDX, IDC_WALL_NUMBER, m_nWallNumber); DDV_MinMaxUInt(pDX, m_nWallNumber, 10, 1000); DDX_Text(pDX, IDC_WINDOW_NUMBER, m_nWindowNumber); DDV_MinMaxUInt(pDX, m_nWindowNumber, 1, 300); DDX_Text(pDX, IDC_WALK_DIST, m_csWalkDist); DDX_Text(pDX, IDC_WALK_ANGLE, m_csWalkAngle); DDX_Check(pDX, IDC_AUTO_RECENT, m_bAutoRecent); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CUserOpreatorSet, CAcUiTabChildDialog) //{{AFX_MSG_MAP(CFontPropertyPage) //add by fxj 080925 ON_BN_CLICKED(IDC_MODEL_NUMBER, OnModelNumber) ON_BN_CLICKED(IDC_SHORTCUT_MENU, OnShortcutMenu) ON_BN_CLICKED(IDC_RCLICK, OnBnClickedRclick) ON_BN_CLICKED(IDC_CTRL_RCLICK, OnBnClickedCtrlRclick) ON_BN_CLICKED(IDC_PREVIEW_KEY, OnBnClickedCtrlRclick) ON_BN_CLICKED(IDC_AUTOCROSS_KEY, OnBnClickedCtrlRclick) ON_BN_CLICKED(IDC_AUTO_RECENT, OnBnClickedCtrlRclick) ON_BN_CLICKED(IDC_SLOW_RCLICK, OnBnClickedSlowRclick) ON_MESSAGE(TARCH_SETTING_MSG_UPDATA,OnReUpdataDlg) ON_EN_CHANGE(IDC_WALL_NUMBER, OnEnChangeWallNumber) ON_EN_CHANGE(IDC_WINDOW_NUMBER, OnEnChangeWallNumber) ON_EN_CHANGE(IDC_MENU_TIME, OnEnChangeWallNumber) ON_EN_CHANGE(IDC_WALK_DIST, OnEnChangeWallNumber) ON_EN_CHANGE(IDC_WALK_ANGLE, OnEnChangeWallNumber) //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_ZOOM_KEY, OnBnClickedZoomKey) END_MESSAGE_MAP() void CUserOpreatorSet::OnModelNumber() { m_bModelNumber=!m_bModelNumber; GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); GetDlgItem(IDC_WALL_NUMBER)->EnableWindow(m_bModelNumber); GetDlgItem(IDC_WINDOW_NUMBER)->EnableWindow(m_bModelNumber); } void CUserOpreatorSet::OnEnChangeWallNumber() { GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); } LRESULT CUserOpreatorSet::OnReUpdataDlg(WPARAM w,LPARAM l) { m_nRClick = -1; m_bShortcutMenu = FALSE; m_bZoomKey=g_bZoomKey; m_nMenuTime=g_nRBtnMenuTime; m_nRClick = g_nSpeedMenu-1; m_bShortcutMenu = (g_nSpeedMenu!=0); m_bAutoCross = g_bAutoFocus; m_bPreView = g_bEnableSelectPreview; m_bAutoRecent = g_bAutoOpenRecent; m_bModelNumber=g_bModelNumber; m_nWallNumber=AS_INT(g_nWallStep); m_nWindowNumber=AS_INT(g_nWinStep); m_csWalkDist = (const TCHAR *)Dist2Str(g_nWalkDistStep); m_csWalkAngle.Format(_T("%.2f"), g_nWalkAngleStep*180/PI); UpdateData(FALSE); ApplySet(); return 0; } BOOL CUserOpreatorSet::OnInitDialog() { CAcUiTabChildDialog::OnInitDialog(); m_nRClick = -1; m_bShortcutMenu = FALSE; m_bZoomKey=g_bZoomKey; m_nMenuTime=g_nRBtnMenuTime; m_nRClick = g_nSpeedMenu-1; m_bShortcutMenu = (g_nSpeedMenu!=0); m_bAutoCross = g_bAutoFocus; m_bPreView = g_bEnableSelectPreview; m_bAutoRecent = g_bAutoOpenRecent; m_bModelNumber=g_bModelNumber; m_nWallNumber=AS_INT(g_nWallStep); m_nWindowNumber=AS_INT(g_nWinStep); m_csWalkDist = (const TCHAR *)Dist2Str(g_nWalkDistStep); m_csWalkAngle.Format(_T("%.2f"), g_nWalkAngleStep*180/PI); UpdateData(FALSE); #if ADS>16 GetDlgItem(IDC_PREVIEW_KEY)->EnableWindow(FALSE); GetDlgItem(IDC_WALK_DIST)->EnableWindow(FALSE); GetDlgItem(IDC_WALK_ANGLE)->EnableWindow(FALSE); #else GetDlgItem(IDC_PREVIEW_KEY)->EnableWindow(TRUE); GetDlgItem(IDC_WALK_DIST)->EnableWindow(TRUE); GetDlgItem(IDC_WALK_ANGLE)->EnableWindow(TRUE); #endif // ywb 090908 for TSun8.0 extern int TARCH_IMPEXP g_nProductId; if (g_nProductId == kTSUN) { CWnd* pWndFiles = GetDlgItem(IDC_AUTO_RECENT); assert(pWndFiles != NULL); pWndFiles->ShowWindow(SW_HIDE); CWnd* pWndDynMode = GetDlgItem(IDC_MODEL_NUMBER); assert(pWndDynMode != NULL); pWndDynMode->ShowWindow(SW_HIDE); CWnd* pStaticWall = GetDlgItem(IDC_STATIC_WALL); assert(pStaticWall != NULL); pStaticWall->ShowWindow(SW_HIDE); CWnd* pStaticDoor = GetDlgItem(IDC_STATIC_DOOR); assert(pStaticDoor != NULL); pStaticDoor->ShowWindow(SW_HIDE); CWnd* pStaticStep = GetDlgItem(IDC_STATIC_STEP); assert(pStaticStep != NULL); pStaticStep->ShowWindow(SW_HIDE); CWnd* pStaticAngStep = GetDlgItem(IDC_STATIC_ANG_STEP); assert(pStaticAngStep != NULL); pStaticAngStep->ShowWindow(SW_HIDE); CWnd* pEdtStep = GetDlgItem(IDC_WALL_NUMBER); assert(pEdtStep != NULL); pEdtStep->ShowWindow(SW_HIDE); CWnd* pEdtDoor = GetDlgItem(IDC_WINDOW_NUMBER); assert(pEdtDoor != NULL); pEdtDoor->ShowWindow(SW_HIDE); CWnd* pEdtWalkDist = GetDlgItem(IDC_WALK_DIST); assert(pEdtWalkDist != NULL); pEdtWalkDist->ShowWindow(SW_HIDE); CWnd* pEdtWalkAng = GetDlgItem(IDC_WALK_ANGLE); assert(pEdtWalkAng != NULL); pEdtWalkAng->ShowWindow(SW_HIDE); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CUserOpreatorSet::OnOK() { CAcUiTabChildDialog::OnOK(); if (!m_bShortcutMenu) g_nSpeedMenu=0; else g_nSpeedMenu=m_nRClick+1; g_bZoomKey=m_bZoomKey; g_nRBtnMenuTime=m_nMenuTime; g_bAutoFocus= m_bAutoCross; g_bEnableSelectPreview = m_bPreView; g_bAutoOpenRecent = m_bAutoRecent; g_bModelNumber=m_bModelNumber; g_nWinStep=m_nWindowNumber; g_nWallStep=m_nWallNumber; double nTempVal=_tstof(m_csWalkDist); if (nTempVal>_DIST_SNAP) g_nWalkDistStep=nTempVal; nTempVal=_tstof(m_csWalkAngle); nTempVal *= PI/180.0; if (nTempVal>_angSnap) g_nWalkAngleStep=nTempVal; SaveGlobalToReg(); } // CUserOpreatorSet 消息处理程序 void CUserOpreatorSet::OnShortcutMenu() { m_bShortcutMenu=!m_bShortcutMenu; m_nRClick = m_bShortcutMenu-1; GetDlgItem(IDC_RCLICK)->EnableWindow(m_bShortcutMenu); GetDlgItem(IDC_CTRL_RCLICK)->EnableWindow(m_bShortcutMenu); GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); UpdateData(FALSE); m_bChecked = TRUE; } void CUserOpreatorSet::OnBnClickedRclick() { UpdateData(); UpdateData(FALSE); GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); m_bChecked = TRUE; } // void CUserOpreatorSet::OnBnClickedCtrlRclick() { UpdateData(); UpdateData(FALSE); GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); m_bChecked = TRUE; } void CUserOpreatorSet::OnBnClickedSlowRclick() { UpdateData(); UpdateData(FALSE); GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); m_bChecked = TRUE; } void CUserOpreatorSet::OnBnClickedZoomKey() { GetParent()->SendMessage(TARCH_SETTING_MSG_BUTTONSTATION); m_bChecked = TRUE; } void CUserOpreatorSet::ApplySet() { UpdateData(TRUE); if (!m_bShortcutMenu) g_nSpeedMenu=0; else g_nSpeedMenu=m_nRClick+1; g_bZoomKey=m_bZoomKey; g_nRBtnMenuTime=m_nMenuTime; g_bAutoFocus= m_bAutoCross; g_bEnableSelectPreview = m_bPreView; g_bAutoOpenRecent = m_bAutoRecent; g_bModelNumber=m_bModelNumber; g_nWinStep=m_nWindowNumber; g_nWallStep=m_nWallNumber; double nTempVal=_tstof(m_csWalkDist); if (nTempVal>_DIST_SNAP) g_nWalkDistStep=nTempVal; nTempVal=_tstof(m_csWalkAngle); nTempVal *= PI/180.0; if (nTempVal>_angSnap) g_nWalkAngleStep=nTempVal; SaveGlobalToReg(); // UpdateData(FALSE); } void CUserOpreatorSet::UpdateGlobalData() { if (!m_bShortcutMenu) g_nSpeedMenu=0; else g_nSpeedMenu=m_nRClick+1; g_bZoomKey=m_bZoomKey; g_nRBtnMenuTime=m_nMenuTime; g_bAutoFocus= m_bAutoCross; g_bEnableSelectPreview = m_bPreView; g_bAutoOpenRecent = m_bAutoRecent; g_bModelNumber=m_bModelNumber; g_nWinStep=m_nWindowNumber; g_nWallStep=m_nWallNumber; double nTempVal=_tstof(m_csWalkDist); if (nTempVal>_DIST_SNAP) g_nWalkDistStep=nTempVal; nTempVal=_tstof(m_csWalkAngle); nTempVal *= PI/180.0; if (nTempVal>_angSnap) g_nWalkAngleStep=nTempVal; SaveGlobalToReg(); }