Files
envi-code/SourceCode/Code2026/Pool3dCmd/LMQTDlg.cpp
T
2026-09-28 15:28:50 +08:00

157 lines
3.0 KiB
C++

#include "stdafx.h"
#include "LMQTDlg.h"
#include "EarThwormDef.h"
IMPLEMENT_DYNAMIC(CLMQTDlg, CDialog)
DLLIMPEXP CString IDCreate();
extern int g_nWallNo;
CLMQTDlg::CLMQTDlg(CWnd *pParent /*=NULL*/)
: CDialog(CLMQTDlg::IDD, pParent)
, m_dThick(400.0)
, m_dH(3000.0)
, m_dBomEl(0.0)
, m_sMaterial(_T("菰庶詞蹄輿"))
, m_nAlign(0)
, m_sNo(_T(""))
, m_bNOSetDefault(TRUE)
, m_sHatch(HATCH_DEFAULT)
, m_bAddHatch(TRUE)
{
m_bPMLQ = FALSE;
g_nWallNo++;
m_sNo.Format(_T("W-%d"),g_nWallNo);
if (m_bNOSetDefault)
m_sNo = IDCreate();
GET_CACHE(CLMQTDlg
, %f%f%f%s%s%d%d%s
, &m_dThick
, &m_dH
, &m_dBomEl
, &m_sMaterial
, &m_sNo
, &m_nAlign
, &m_bPMLQ
,&m_sHatch);
}
CLMQTDlg::~CLMQTDlg()
{
}
void CLMQTDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_dThick);
DDX_Text(pDX, IDC_EDIT12, m_dH);
DDX_Text(pDX, IDC_EDIT2, m_dBomEl);
DDX_Text(pDX, IDC_EDIT3, m_sMaterial);
DDX_Radio(pDX, IDC_RADIO1, m_nAlign);
DDX_Text(pDX, IDC_EDIT6, m_sNo);
DDX_Check(pDX, IDC_CHECK6, m_bNOSetDefault);
DDX_Control(pDX, IDC_BTN_FILL, m_wndBtHatch);
DDX_Check(pDX, IDC_CHECK_HATCH, m_bAddHatch);
DDX_Text(pDX, IDC_BTN_FILL, m_sHatch);
}
BEGIN_MESSAGE_MAP(CLMQTDlg, CDialog)
ON_BN_CLICKED(IDOK, &CLMQTDlg::OnBnClickedOk)
ON_BN_CLICKED(IDC_CHECK6, &CLMQTDlg::OnBnClickedCheck6)
ON_BN_CLICKED(IDC_BTN_FILL, &CLMQTDlg::OnBnClickedBtnFill)
ON_BN_CLICKED(IDC_CHECK_HATCH, &CLMQTDlg::OnBnClickedCheckHatch)
END_MESSAGE_MAP()
BOOL CLMQTDlg::OnInitDialog()
{
CDialog::OnInitDialog();
if (m_bPMLQ)
{
SetWindowText(_T("峠中性能"));
GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT12)->EnableWindow(TRUE);
((CEdit*)GetDlgItem(IDC_EDIT12))->SetReadOnly(FALSE);
GetDlgItem(IDC_EDIT2)->EnableWindow(TRUE);
((CEdit *)GetDlgItem(IDC_EDIT2))->SetReadOnly(FALSE);
}
else
{
SetWindowText(_T("羨中性能"));
}
if (m_bNOSetDefault)
GetDlgItem(IDC_EDIT6)->EnableWindow(FALSE);
m_wndBtHatch.EnableWindow(m_bAddHatch);
UpdateData(FALSE);
return TRUE;
}
void CLMQTDlg::OnBnClickedOk()
{
UpdateData(TRUE);
SET_CACHE(CLMQTDlg
, %f%f%f%s%s%d%d%s
, m_dThick
, m_dH
, m_dBomEl
, m_sMaterial
, m_sNo
, m_nAlign
, m_bPMLQ
, m_sHatch);
OnOK();
}
void CLMQTDlg::OnBnClickedCheck6()
{
UpdateData();
if (m_bNOSetDefault)
{
GetDlgItem(IDC_EDIT6)->EnableWindow(FALSE);
}
else
{
GetDlgItem(IDC_EDIT6)->EnableWindow(TRUE);
}
}
extern bool __cdecl acedHatchPalletteDialog(wchar_t const* , bool , wchar_t *&);
void CLMQTDlg::OnBnClickedBtnFill()
{
UpdateData();
TCHAR *psz = new TCHAR[1024];
::memset(psz, 0, sizeof(TCHAR) * 1024);
CString sHatch(m_sMaterial);
if (!m_sHatch.IsEmpty())
sHatch = m_sHatch;
if (acedHatchPalletteDialog(sHatch, false, psz))
{
m_sHatch = psz;
m_wndBtHatch.SetWindowText(m_sHatch);
}
delete[] psz;
}
void CLMQTDlg::OnBnClickedCheckHatch()
{
UpdateData();
m_wndBtHatch.EnableWindow(m_bAddHatch);
if (!m_bAddHatch)
m_sHatch = HATCH_NO_NEED;
else
m_sHatch = HATCH_DEFAULT;
UpdateData(FALSE);
}