195 lines
3.9 KiB
C++
195 lines
3.9 KiB
C++
#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();
|
|
}
|