rlm@1: // MemoryViewerAddressSize.cpp : implementation file rlm@1: // rlm@1: rlm@1: #include "stdafx.h" rlm@1: #include "resource.h" rlm@1: #include "MemoryViewerAddressSize.h" rlm@1: rlm@1: ///////////////////////////////////////////////////////////////////////////// rlm@1: // MemoryViewerAddressSize dialog rlm@1: rlm@1: MemoryViewerAddressSize::MemoryViewerAddressSize(u32 a, int s, CWnd*pParent /*=NULL*/) rlm@1: : CDialog(MemoryViewerAddressSize::IDD, pParent) rlm@1: { rlm@1: //{{AFX_DATA_INIT(MemoryViewerAddressSize) rlm@1: // NOTE: the ClassWizard will add member initialization here rlm@1: //}}AFX_DATA_INIT rlm@1: address = a; rlm@1: size = s; rlm@1: } rlm@1: rlm@1: void MemoryViewerAddressSize::DoDataExchange(CDataExchange*pDX) rlm@1: { rlm@1: CDialog::DoDataExchange(pDX); rlm@1: //{{AFX_DATA_MAP(MemoryViewerAddressSize) rlm@1: DDX_Control(pDX, IDC_SIZE_CONTROL, m_size); rlm@1: DDX_Control(pDX, IDC_ADDRESS, m_address); rlm@1: //}}AFX_DATA_MAP rlm@1: } rlm@1: rlm@1: BEGIN_MESSAGE_MAP(MemoryViewerAddressSize, CDialog) rlm@1: //{{AFX_MSG_MAP(MemoryViewerAddressSize) rlm@1: ON_BN_CLICKED(ID_OK, OnOk) rlm@1: ON_BN_CLICKED(ID_CANCEL, OnCancel) rlm@1: //}}AFX_MSG_MAP rlm@1: END_MESSAGE_MAP() rlm@1: rlm@1: ///////////////////////////////////////////////////////////////////////////// rlm@1: // MemoryViewerAddressSize message handlers rlm@1: rlm@1: BOOL MemoryViewerAddressSize::OnInitDialog() rlm@1: { rlm@1: CDialog::OnInitDialog(); rlm@1: rlm@1: CString buffer; rlm@1: if (address != 0xFFFFFFFF) rlm@1: { rlm@1: buffer.Format("%08X", address); rlm@1: m_address.SetWindowText(buffer); rlm@1: } rlm@1: if (size != -1) rlm@1: { rlm@1: buffer.Format("%08X", size); rlm@1: m_size.SetWindowText(buffer); rlm@1: m_size.EnableWindow(FALSE); rlm@1: } rlm@1: rlm@1: if (size == -1 && address != 0xFFFFFFFF) rlm@1: m_size.SetFocus(); rlm@1: rlm@1: m_address.LimitText(9); rlm@1: m_size.LimitText(9); rlm@1: rlm@1: return TRUE; // return TRUE unless you set the focus to a control rlm@1: // EXCEPTION: OCX Property Pages should return FALSE rlm@1: } rlm@1: rlm@1: void MemoryViewerAddressSize::OnOk() rlm@1: { rlm@1: CString buffer; rlm@1: rlm@1: m_address.GetWindowText(buffer); rlm@1: if (buffer.IsEmpty()) rlm@1: { rlm@1: m_address.SetFocus(); rlm@1: return; rlm@1: } rlm@1: sscanf(buffer, "%x", &address); rlm@1: rlm@1: m_size.GetWindowText(buffer); rlm@1: if (buffer.IsEmpty()) rlm@1: { rlm@1: m_size.SetFocus(); rlm@1: return; rlm@1: } rlm@1: sscanf(buffer, "%x", &size); rlm@1: EndDialog(TRUE); rlm@1: } rlm@1: rlm@1: void MemoryViewerAddressSize::OnCancel() rlm@1: { rlm@1: EndDialog(FALSE); rlm@1: } rlm@1: rlm@1: void MemoryViewerAddressSize::setAddress(u32 a) rlm@1: { rlm@1: address = a; rlm@1: } rlm@1: rlm@1: void MemoryViewerAddressSize::setSize(int s) rlm@1: { rlm@1: size = s; rlm@1: } rlm@1: rlm@1: u32 MemoryViewerAddressSize::getAddress() rlm@1: { rlm@1: return address; rlm@1: } rlm@1: rlm@1: \ rlm@1: rlm@1: int MemoryViewerAddressSize::getSize() rlm@1: { rlm@1: return size; rlm@1: } rlm@1: