// LoadDlg.cpp : implementation file // #include "stdafx.h" #include "dicomapp.h" #include "NewDlg.h" ///////////////////////////////////////////////////////////////////////////// // CDicomNewDlg dialog CDicomNewDlg::CDicomNewDlg(CWnd* pParent /*=NULL*/) : CDialog(CDicomNewDlg::IDD, pParent) { //{{AFX_DATA_INIT(CDicomNewDlg) //}}AFX_DATA_INIT m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CDicomNewDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDicomNewDlg) DDX_Control(pDX, IDC_TS_LITTLEENDIAN, m_TSLittleEndian); DDX_Control(pDX, IDC_TS_BIGENDIAN, m_TSBigEndian); DDX_Control(pDX, IDC_VR_IMPLICIT, m_VRImplicit); DDX_Control(pDX, IDC_VR_EXPLICIT, m_VRExplicit); DDX_Control(pDX, IDC_CLASS, m_Class); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDicomNewDlg, CDialog) //{{AFX_MSG_MAP(CDicomNewDlg) ON_BN_CLICKED(IDC_TS_BIGENDIAN, OnTsBigendian) ON_BN_CLICKED(IDC_TS_LITTLEENDIAN, OnTsLittleendian) ON_BN_CLICKED(IDC_VR_EXPLICIT, OnVrExplicit) ON_BN_CLICKED(IDC_VR_IMPLICIT, OnVrImplicit) ON_LBN_DBLCLK(IDC_CLASS, OnDblclkClass) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDicomNewDlg message handlers BOOL CDicomNewDlg::OnInitDialog() { CDialog::OnInitDialog(); SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon pDICOMIOD pIOD; int nIndex; pIOD = LDicomIOD::GetFirst(NULL, TRUE); while (pIOD != NULL) { nIndex = m_Class.AddString(pIOD->pszName); m_Class.SetItemData(nIndex, (DWORD)pIOD->nCode); pIOD = LDicomIOD::GetNext(pIOD, TRUE); } m_TSLittleEndian.SetCheck(1); m_VRExplicit.SetCheck(1); m_Class.SetCurSel(0); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CDicomNewDlg::OnOK() { int nIndex; nIndex = m_Class.GetCurSel(); if (nIndex == LB_ERR) { m_nClass = CLASS_MAX; } else { m_nClass = m_Class.GetItemData(nIndex); } m_nFlags = 0; 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 CDicomNewDlg::OnTsBigendian() { m_TSBigEndian.SetCheck(1); m_TSLittleEndian.SetCheck(0); m_VRImplicit.EnableWindow(FALSE); } void CDicomNewDlg::OnTsLittleendian() { m_TSBigEndian.SetCheck(0); m_TSLittleEndian.SetCheck(1); m_VRImplicit.EnableWindow(TRUE); m_TSBigEndian.EnableWindow(TRUE); } void CDicomNewDlg::OnVrExplicit() { m_VRExplicit.SetCheck(1); m_VRImplicit.SetCheck(0); m_VRImplicit.EnableWindow(TRUE); m_TSBigEndian.EnableWindow(TRUE); } void CDicomNewDlg::OnVrImplicit() { m_VRExplicit.SetCheck(0); m_VRImplicit.SetCheck(1); m_TSBigEndian.EnableWindow(FALSE); } void CDicomNewDlg::OnDblclkClass() { OnOK(); }