/**********************************************************************/ /** Microsoft Windows/NT **/ /** Copyright(c) Microsoft Corporation, 1997 - 1998 **/ /**********************************************************************/ /* dlgprof.cpp Implementation of CDlgNewProfile, dialog to create a new profile FILE HISTORY: */ #include "stdafx.h" #include "resource.h" #include "rasdial.h" #include "helper.h" #include "DlgProf.h" #include "profsht.h" #include "hlptable.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDlgNewProfile dialog #ifdef __OLD_OLD_CODE CDlgNewProfile::CDlgNewProfile(CWnd* pParent, CStrArray& NameList) : CDialog(CDlgNewProfile::IDD, pParent), m_NameList(NameList) { //{{AFX_DATA_INIT(CDlgNewProfile) m_sBaseProfile = _T(""); m_sProfileName = _T(""); //}}AFX_DATA_INIT m_pBox = NULL; } CDlgNewProfile::~CDlgNewProfile() { delete m_pBox; } void CDlgNewProfile::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDlgNewProfile) DDX_CBString(pDX, IDC_COMBOBASEPROFILE, m_sBaseProfile); DDX_Text(pDX, IDC_EDITPROFILENAME, m_sProfileName); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDlgNewProfile, CDialog) //{{AFX_MSG_MAP(CDlgNewProfile) ON_BN_CLICKED(IDC_BUTTONEDIT, OnButtonEdit) ON_EN_CHANGE(IDC_EDITPROFILENAME, OnChangeEditprofilename) ON_WM_HELPINFO() ON_WM_CONTEXTMENU() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDlgNewProfile message handlers void CDlgNewProfile::OnButtonEdit() { AFX_MANAGE_STATE(AfxGetStaticModuleState()); USES_CONVERSION; UpdateData(TRUE); // load the profile using based profile, if not loaded if(!m_Profile.IsCurrent((LPCTSTR)m_sBaseProfile)) { m_Profile.Load(T2W((LPTSTR)(LPCTSTR)m_sBaseProfile)); } if(m_Profile.IsValid()) { // not to save on OK / apply -- pass in false as second parameter CProfileSheet sh(m_Profile, false, IDS_EDITDIALINPROFILE); sh.DoModal(); if(sh.IsApplied()) { // disable the based on profile combo box GetDlgItem(IDC_COMBOBASEPROFILE)->EnableWindow(FALSE); } } } void CDlgNewProfile::OnOK() { USES_CONVERSION; CDialog::OnOK(); // load the profile using base profile, if not loaded if (!m_Profile.IsValid()) m_Profile.Load(T2W((LPTSTR)(LPCTSTR)m_sBaseProfile)); // save the profile if(m_Profile.IsValid()) m_Profile.Save(T2W((LPTSTR)(LPCTSTR)m_sProfileName)); } BOOL CDlgNewProfile::OnInitDialog() { AFX_MANAGE_STATE(AfxGetStaticModuleState()); CDialog::OnInitDialog(); try{ m_pBox = new CStrBox(this, IDC_COMBOBASEPROFILE, m_NameList); }catch(CMemoryException&) { delete m_pBox; m_pBox = NULL; throw; } if(m_pBox) { m_pBox->Fill(); m_pBox->Select(0); } GetDlgItem(IDOK)->EnableWindow(FALSE); GetDlgItem(IDC_BUTTONEDIT)->EnableWindow(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CDlgNewProfile::OnChangeEditprofilename() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CDialog::OnInitDialog() // function to send the EM_SETEVENTMASK message to the control // with the ENM_CHANGE flag ORed into the lParam mask. // TODO: Add your control notification handler code here CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDITPROFILENAME); CString str; pEdit->GetWindowText(str); BOOL bEnable = (str.GetLength() && (m_NameList.Find(str) == -1)); GetDlgItem(IDOK)->EnableWindow(bEnable); GetDlgItem(IDC_BUTTONEDIT)->EnableWindow(bEnable); } BOOL CDlgNewProfile::OnHelpInfo(HELPINFO* pHelpInfo) { ::WinHelp ((HWND)pHelpInfo->hItemHandle, AfxGetApp()->m_pszHelpFilePath, HELP_WM_HELP, (DWORD_PTR)(LPVOID)IDD_NEWDIALINPROFILE_HelpTable); return CDialog::OnHelpInfo(pHelpInfo); } void CDlgNewProfile::OnContextMenu(CWnd* pWnd, CPoint point) { ::WinHelp (pWnd->m_hWnd, AfxGetApp()->m_pszHelpFilePath, HELP_CONTEXTMENU, (DWORD_PTR)(LPVOID)IDD_NEWDIALINPROFILE_HelpTable); } #endif __OLD_OLD_CODE