// LoadDlg.cpp : implementation file // #include "stdafx.h" #include "dicomapp.h" #include "LoadDlg.h" ///////////////////////////////////////////////////////////////////////////// // CDicomLoadDlg dialog CDicomLoadDlg::CDicomLoadDlg(CWnd* pParent /*=NULL*/) : CDialog(CDicomLoadDlg::IDD, pParent) { //{{AFX_DATA_INIT(CDicomLoadDlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CDicomLoadDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDicomLoadDlg) DDX_Control(pDX, IDC_METAHEADER_PRESENT, m_MetaheaderPresent); DDX_Control(pDX, IDC_METAHEADER_ABSENT, m_MetaheaderAbsent); DDX_Control(pDX, IDC_METAHEADER_AUTODETECT, m_MetaheaderAutodetect); DDX_Control(pDX, IDC_TS_BIGENDIAN, m_TSBigEndian); DDX_Control(pDX, IDC_TS_LITTLEENDIAN, m_TSLittleEndian); DDX_Control(pDX, IDC_TS_AUTODETECT, m_TSAutodetect); DDX_Control(pDX, IDC_VR_IMPLICIT, m_VRImplicit); DDX_Control(pDX, IDC_VR_EXPLICIT, m_VRExplicit); DDX_Control(pDX, IDC_VR_AUTODETECT, m_VRAutodetect); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDicomLoadDlg, CDialog) //{{AFX_MSG_MAP(CDicomLoadDlg) ON_BN_CLICKED(IDC_METAHEADER_ABSENT, OnMetaheaderAbsent) ON_BN_CLICKED(IDC_METAHEADER_AUTODETECT, OnMetaheaderAutodetect) ON_BN_CLICKED(IDC_METAHEADER_PRESENT, OnMetaheaderPresent) ON_BN_CLICKED(IDC_TS_BIGENDIAN, OnTsBigendian) ON_BN_CLICKED(IDC_TS_AUTODETECT, OnTsAutodetect) ON_BN_CLICKED(IDC_TS_LITTLEENDIAN, OnTsLittleendian) ON_BN_CLICKED(IDC_VR_AUTODETECT, OnVrAutodetect) ON_BN_CLICKED(IDC_VR_EXPLICIT, OnVrExplicit) ON_BN_CLICKED(IDC_VR_IMPLICIT, OnVrImplicit) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDicomLoadDlg message handlers BOOL CDicomLoadDlg::OnInitDialog() { CDialog::OnInitDialog(); SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon if (m_nFlags & DS_METAHEADER_PRESENT) { m_MetaheaderPresent.SetCheck(1); } else if (m_nFlags & DS_METAHEADER_ABSENT) { m_MetaheaderAbsent.SetCheck(1); } else { m_MetaheaderAutodetect.SetCheck(1); } if (m_nFlags & DS_LITTLE_ENDIAN) { m_TSLittleEndian.SetCheck(1); } else if (m_nFlags & DS_BIG_ENDIAN) { m_TSBigEndian.SetCheck(1); m_VRImplicit.EnableWindow(FALSE); } else { m_TSAutodetect.SetCheck(1); } if (m_nFlags & DS_EXPLICIT_VR) { m_VRExplicit.SetCheck(1); } else if (m_nFlags & DS_IMPLICIT_VR) { m_VRImplicit.SetCheck(1); m_TSBigEndian.EnableWindow(FALSE); } else { m_VRAutodetect.SetCheck(1); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CDicomLoadDlg::OnOK() { m_nFlags = 0; if (m_MetaheaderPresent.GetCheck() == 1) { m_nFlags |= DS_METAHEADER_PRESENT; } else if (m_MetaheaderAbsent.GetCheck() == 1) { m_nFlags |= DS_METAHEADER_ABSENT; } if (m_TSBigEndian.GetCheck() == 1) { m_nFlags |= DS_BIG_ENDIAN; } else if (m_TSLittleEndian.GetCheck() == 1) { m_nFlags |= DS_LITTLE_ENDIAN; } if (m_VRImplicit.GetCheck() == 1) { m_nFlags |= DS_IMPLICIT_VR; } else if (m_VRExplicit.GetCheck() == 1) { m_nFlags |= DS_EXPLICIT_VR; } CDialog::OnOK(); } void CDicomLoadDlg::OnMetaheaderAbsent() { m_MetaheaderPresent.SetCheck(0); m_MetaheaderAbsent.SetCheck(1); m_MetaheaderAutodetect.SetCheck(0); } void CDicomLoadDlg::OnMetaheaderAutodetect() { m_MetaheaderPresent.SetCheck(0); m_MetaheaderAbsent.SetCheck(0); m_MetaheaderAutodetect.SetCheck(1); } void CDicomLoadDlg::OnMetaheaderPresent() { m_MetaheaderPresent.SetCheck(1); m_MetaheaderAbsent.SetCheck(0); m_MetaheaderAutodetect.SetCheck(0); } void CDicomLoadDlg::OnTsBigendian() { m_TSBigEndian.SetCheck(1); m_TSLittleEndian.SetCheck(0); m_TSAutodetect.SetCheck(0); m_VRImplicit.EnableWindow(FALSE); } void CDicomLoadDlg::OnTsAutodetect() { m_TSBigEndian.SetCheck(0); m_TSLittleEndian.SetCheck(0); m_TSAutodetect.SetCheck(1); m_TSBigEndian.EnableWindow(TRUE); m_VRImplicit.EnableWindow(TRUE); } void CDicomLoadDlg::OnTsLittleendian() { m_TSBigEndian.SetCheck(0); m_TSLittleEndian.SetCheck(1); m_TSAutodetect.SetCheck(0); m_TSBigEndian.EnableWindow(TRUE); m_VRImplicit.EnableWindow(TRUE); } void CDicomLoadDlg::OnVrAutodetect() { m_VRExplicit.SetCheck(0); m_VRImplicit.SetCheck(0); m_VRAutodetect.SetCheck(1); m_TSBigEndian.EnableWindow(TRUE); m_VRImplicit.EnableWindow(TRUE); } void CDicomLoadDlg::OnVrExplicit() { m_VRExplicit.SetCheck(1); m_VRImplicit.SetCheck(0); m_VRAutodetect.SetCheck(0); m_TSBigEndian.EnableWindow(TRUE); m_VRImplicit.EnableWindow(TRUE); } void CDicomLoadDlg::OnVrImplicit() { m_VRExplicit.SetCheck(0); m_VRImplicit.SetCheck(1); m_VRAutodetect.SetCheck(0); m_TSBigEndian.EnableWindow(FALSE); }