157 lines
3.0 KiB
C++
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);
|
|
}
|