#include "stdafx.h" #include "AddTankNozz.h" IMPLEMENT_DYNAMIC(CAddTankNozz, CDialog) CAddTankNozz::CAddTankNozz(int nTankType, CWnd* pParent) : CDialog(IDD_ADD_TANK_NOZZ, pParent) , m_sName(_T("")) , m_iL(0) , m_iW(0) , m_iH(0) , m_dAngle(0) , m_iDN(0) , m_iFlDn(0) , m_iFlT(0) , m_iShape(0) , m_iRh(0) , m_iRectDir(0) , m_iTankType(nTankType) { GET_CACHE(CAddTankNozz , %s%d%d%d%d%d%d%f%d%d%d , &m_sName , &m_iL , &m_iW , &m_iH , &m_iDN , &m_iFlDn , &m_iFlT , &m_dAngle , &m_iShape , &m_iRh , &m_iRectDir); } CAddTankNozz::~CAddTankNozz() { } void CAddTankNozz::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDT_NAME, m_sName); DDX_Text(pDX, IDC_EDT_x, m_iL); DDX_Text(pDX, IDC_EDT_Y, m_iW); DDX_Text(pDX, IDC_EDT_Z, m_iH); DDX_Text(pDX, IDC_EDT_A, m_dAngle); DDX_Text(pDX, IDC_EDT_DN, m_iDN); DDX_Text(pDX, IDC_EDT_FLDN, m_iFlDn); DDX_Text(pDX, IDC_EDT_FLT, m_iFlT); DDX_Text(pDX, IDC_EDT_DN2, m_iRh); DDX_Radio(pDX, IDC_RADIO_CIRCLE, m_iShape); DDX_Radio(pDX, IDC_RADIO_FRONT, m_iRectDir); DDX_Control(pDX, IDC_STATIC_PIC, m_wndPic); } BOOL CAddTankNozz::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(FALSE); OnBnClickedShape(); m_bitmapNozz.LoadBitmap(IDB_BITMAP_TANK_NOZZ); m_bitmapNozz2.LoadBitmap(IDB_BITMAP_TANK_NOZZ2); CWnd *pWnd(NULL); if (m_iTankType == 0) // Ô²¹Þ { HBITMAP hbmp = (HBITMAP)m_bitmapNozz.GetSafeHandle(); m_wndPic.SetBitmap(hbmp); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_DIR); if (pWnd) pWnd->ShowWindow(SW_HIDE); pWnd = (CWnd *)GetDlgItem(IDC_RADIO_UP); if (pWnd) pWnd->ShowWindow(SW_HIDE); pWnd = (CWnd *)GetDlgItem(IDC_RADIO_DOWN); if (pWnd) pWnd->ShowWindow(SW_HIDE); pWnd = (CWnd *)GetDlgItem(IDC_RADIO_LEFT); if (pWnd) pWnd->ShowWindow(SW_HIDE); pWnd = (CWnd *)GetDlgItem(IDC_RADIO_RIGHT); if (pWnd) pWnd->ShowWindow(SW_HIDE); pWnd = (CWnd *)GetDlgItem(IDC_RADIO_FRONT); if (pWnd) pWnd->ShowWindow(SW_HIDE); pWnd = (CWnd *)GetDlgItem(IDC_RADIO_BEHIND); if (pWnd) pWnd->ShowWindow(SW_HIDE); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_A); if (pWnd) pWnd->ShowWindow(SW_SHOW); pWnd = (CWnd *)GetDlgItem(IDC_EDT_A); if (pWnd) pWnd->ShowWindow(SW_SHOW); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_AU); if (pWnd) pWnd->ShowWindow(SW_SHOW); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_W); if (pWnd) pWnd->SetWindowText(_T("¶È")); } else // ·½¹Þ { HBITMAP hbmp = (HBITMAP)m_bitmapNozz2.GetSafeHandle(); m_wndPic.SetBitmap(hbmp); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_DIR); if (pWnd) pWnd->ShowWindow(SW_SHOW); pWnd = (CWnd *)GetDlgItem(IDC_RADIO_UP); if (pWnd) pWnd->ShowWindow(SW_SHOW); pWnd = (CWnd *)GetDlgItem(IDC_RADIO_DOWN); if (pWnd) pWnd->ShowWindow(SW_SHOW); pWnd = (CWnd *)GetDlgItem(IDC_RADIO_LEFT); if (pWnd) pWnd->ShowWindow(SW_SHOW); pWnd = (CWnd *)GetDlgItem(IDC_RADIO_RIGHT); if (pWnd) pWnd->ShowWindow(SW_SHOW); pWnd = (CWnd *)GetDlgItem(IDC_RADIO_FRONT); if (pWnd) pWnd->ShowWindow(SW_SHOW); pWnd = (CWnd *)GetDlgItem(IDC_RADIO_BEHIND); if (pWnd) pWnd->ShowWindow(SW_SHOW); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_A); if (pWnd) pWnd->ShowWindow(SW_HIDE); pWnd = (CWnd *)GetDlgItem(IDC_EDT_A); if (pWnd) pWnd->ShowWindow(SW_HIDE); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_AU); if (pWnd) pWnd->ShowWindow(SW_HIDE); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_W); if (pWnd) pWnd->SetWindowText(_T("mm")); } return TRUE; } BEGIN_MESSAGE_MAP(CAddTankNozz, CDialog) ON_BN_CLICKED(IDOK, &CAddTankNozz::OnBnClickedOk) ON_BN_CLICKED(IDC_RADIO_CIRCLE, &CAddTankNozz::OnBnClickedShape) ON_BN_CLICKED(IDC_RADIO_RECT, &CAddTankNozz::OnBnClickedShape) END_MESSAGE_MAP() void CAddTankNozz::OnBnClickedOk() { UpdateData(TRUE); if (m_iTankType == 0) // Ô²ÐιÜ×ì m_iRectDir = -1; SET_CACHE(CAddTankNozz , %s%d%d%d%d%d%d%f%d%d%d , m_sName , m_iL , m_iW , m_iH , m_iDN , m_iFlDn , m_iFlT , m_dAngle , m_iShape , m_iRh , m_iRectDir); CDialog::OnOK(); } void CAddTankNozz::OnBnClickedShape() { UpdateData(TRUE); CWnd *pWnd(NULL); if (m_iShape == 0) // Ô² { pWnd = (CWnd *)GetDlgItem(IDC_STATIC_DN); if (pWnd) pWnd->SetWindowText(_T("DN£º")); pWnd = (CWnd *)GetDlgItem(IDC_EDT_DN2); if (pWnd) pWnd->ShowWindow(SW_HIDE); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_MM2); if (pWnd) pWnd->ShowWindow(SW_HIDE); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_DN2); if (pWnd) pWnd->ShowWindow(SW_HIDE); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_FLDN); if (pWnd) pWnd->SetWindowText(_T("FLDn£º")); } else { pWnd = (CWnd *)GetDlgItem(IDC_STATIC_DN); if (pWnd) pWnd->SetWindowText(_T("Rw£º")); pWnd = (CWnd *)GetDlgItem(IDC_EDT_DN2); if (pWnd) pWnd->ShowWindow(SW_SHOW); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_MM2); if (pWnd) pWnd->ShowWindow(SW_SHOW); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_DN2); if (pWnd) pWnd->ShowWindow(SW_SHOW); pWnd = (CWnd *)GetDlgItem(IDC_STATIC_FLDN); if (pWnd) pWnd->SetWindowText(_T("FLW£º")); } }