#include "stdafx.h" #include "GXLJDlg.h" #include "UITools.h" IMPLEMENT_DYNAMIC(CGXLJDlg, CDialog) CGXLJDlg::CGXLJDlg(CWnd* pParent /*=NULL*/) : CDialog(CGXLJDlg::IDD, pParent) , m_nType(0) , m_nWeldType(1) , m_nOffsetDir(0) , m_dOffset(1.5) , m_dZSWeepAngle(135) , m_dTopSpace(1.0) { m_dRRato = 1.5; } CGXLJDlg::~CGXLJDlg() { } void CGXLJDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Radio(pDX, IDC_RADIO1, m_nType); DDX_Radio(pDX, IDC_RADIOT1, m_nWeldType); DDX_Radio(pDX, IDC_RADIO6, m_nOffsetDir); DDX_Text(pDX, IDC_EDIT1, m_dOffset); DDX_Text(pDX, IDC_EDIT3, m_dZSWeepAngle); DDX_Text(pDX, IDC_EDIT4, m_dTopSpace); DDX_Control(pDX, IDC_LIST1, m_wndListBox); } BEGIN_MESSAGE_MAP(CGXLJDlg, CDialog) ON_BN_CLICKED(IDOK, &CGXLJDlg::OnBnClickedOk) ON_WM_CTLCOLOR() ON_BN_CLICKED(IDC_RADIO1, &CGXLJDlg::OnBnClickedRadio1) ON_BN_CLICKED(IDC_RADIO2, &CGXLJDlg::OnBnClickedRadio2) ON_BN_CLICKED(IDC_RADIO3, &CGXLJDlg::OnBnClickedRadio3) ON_BN_CLICKED(IDC_RADIO4, &CGXLJDlg::OnBnClickedRadio4) END_MESSAGE_MAP() BOOL CGXLJDlg::OnInitDialog() { CDialog::OnInitDialog(); m_bmpCmd[0].LoadBitmap(IDB_BITMAP12); ((CButton*)GetDlgItem(IDC_RADIO1))->SetBitmap((HBITMAP)m_bmpCmd[0]); m_bmpCmd[1].LoadBitmap(IDB_BITMAP11); ((CButton*)GetDlgItem(IDC_RADIO2))->SetBitmap((HBITMAP)m_bmpCmd[1]); m_bmpCmd[2].LoadBitmap(IDB_BITMAP13); ((CButton*)GetDlgItem(IDC_RADIO3))->SetBitmap((HBITMAP)m_bmpCmd[2]); m_bmpCmd[3].LoadBitmap(IDB_BITMAP14); ((CButton*)GetDlgItem(IDC_RADIO4))->SetBitmap((HBITMAP)m_bmpCmd[3]); CString path = FilePath::GetSysDir() + Plumbing_DB; if (!m_dbSQLite.InitADOServer(path)) { AfxMessageBox(CString(_T("数据库初始化失败,请检查 sys")) + Plumbing_DB + _T("文件是否存在.")); return FALSE; } InitElbowCrt(); UpdateData(FALSE); return TRUE; } void CGXLJDlg::InitElbowCrt() { CString sSQL; sSQL = _T("select [曲率半径] from AecElbowradius order by [曲率半径]"); bool bSet = false; CStringArray arVals; m_dbSQLite.GetSelData(sSQL,arVals); for (int i = 0;i < arVals.GetSize();i++) { m_wndListBox.AddString(arVals.GetAt(i)); if ( fabs( m_dRRato - _ttof(arVals.GetAt(i) ) ) < 1.e-2) { m_wndListBox.SetCurSel(i); bSet = true; } } if (!bSet) m_wndListBox.SetCurSel(0); } void CGXLJDlg::OnBnClickedOk() { UpdateData(); if (m_dZSWeepAngle - 90.0 < 1.e-2) { AfxMessageBox(_T("中间斜弯弯头角度必须大于90度!")); return; } if (m_dOffset < 0.1 || m_dTopSpace < 0.1) { AfxMessageBox(_T("偏移距离太小! 请重新输入偏移距离!")); return; } int nCurSel = m_wndListBox.GetCurSel(); if (nCurSel < 0) { AfxMessageBox(_T("没有选择弯头曲率半径,请选择曲率半径!")); return; } CString sRato; m_wndListBox.GetText(nCurSel,sRato); m_dRRato = _ttof(sRato); OnOK(); } HBRUSH CGXLJDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if (nCtlColor == CTLCOLOR_STATIC) { if (pWnd != NULL && pWnd->GetDlgCtrlID() == IDC_STATIC_1) { if (m_nType == 0) { COLORREF crColor = RGB(255, 0, 0); pDC->SetTextColor(crColor); } } if (pWnd != NULL && pWnd->GetDlgCtrlID() == IDC_STATIC_2) { if (m_nType == 1) { COLORREF crColor = RGB(255, 0, 0); pDC->SetTextColor(crColor); } } if (pWnd != NULL && pWnd->GetDlgCtrlID() == IDC_STATIC_3) { if (m_nType == 2) { COLORREF crColor = RGB(255, 0, 0); pDC->SetTextColor(crColor); } } if (pWnd != NULL && pWnd->GetDlgCtrlID() == IDC_STATIC_4) { if (m_nType == 3) { COLORREF crColor = RGB(255, 0, 0); pDC->SetTextColor(crColor); } } } return hbr; } void CGXLJDlg::OnBnClickedRadio1() { UpdateData(); RedrawWindow(); } void CGXLJDlg::OnBnClickedRadio2() { UpdateData(); RedrawWindow(); } void CGXLJDlg::OnBnClickedRadio3() { UpdateData(); RedrawWindow(); } void CGXLJDlg::OnBnClickedRadio4() { UpdateData(); RedrawWindow(); }