00001
00002
00003
00004
00005
00006 #include "stdafx.h"
00007 #include "FdmApp.h"
00008 #include "NOWDlg.h"
00009
00010 #ifdef _DEBUG
00011 #define new DEBUG_NEW
00012 #undef THIS_FILE
00013 static char THIS_FILE[] = __FILE__;
00014 #endif
00015
00016 CNOWDlg::CNOWDlg(CWnd* pParent )
00017 : CDialog(CNOWDlg::IDD, pParent)
00018 {
00019
00020
00021
00022 }
00023
00024 void CNOWDlg::DoDataExchange(CDataExchange* pDX)
00025 {
00026 CDialog::DoDataExchange(pDX);
00027
00028 DDX_Control(pDX, IDC_CT, m_wndCT);
00029
00030 }
00031
00032 BEGIN_MESSAGE_MAP(CNOWDlg, CDialog)
00033
00034 ON_WM_CONTEXTMENU()
00035 ON_COMMAND(ID_WHATISTHIS, OnWhatisthis)
00036 ON_WM_HELPINFO()
00037
00038 END_MESSAGE_MAP()
00039
00040 BOOL CNOWDlg::OnInitDialog()
00041 {
00042 CDialog::OnInitDialog();
00043
00044 m_wndCT.AddString ("14.4K Modem");
00045 m_wndCT.AddString ("28.8K Modem");
00046 m_wndCT.AddString ("33.6K Modem");
00047 m_wndCT.AddString ("56K Modem/ISDN");
00048 m_wndCT.AddString ("112K Dual ISDN");
00049 m_wndCT.AddString ("256K DSL/Cable");
00050 m_wndCT.AddString ("300K DSL/Cable");
00051 m_wndCT.AddString ("512K DSL/Cable");
00052 m_wndCT.AddString ("1.5M T1");
00053 m_wndCT.AddString ("10/100M LAN");
00054
00055 m_wndCT.SetCurSel (_App.NOW ());
00056
00057 ApplyLanguage ();
00058
00059 return TRUE;
00060 }
00061
00062 void CNOWDlg::OnOK()
00063 {
00064 m_enCT = (fsConnectionType) m_wndCT.GetCurSel ();
00065
00066 _App.NOW (m_enCT);
00067
00068 CDialog::OnOK();
00069 }
00070
00071 void CNOWDlg::OnContextMenu(CWnd* , CPoint point)
00072 {
00073 PrepareCHMgr (point);
00074 _CHMgr.ShowMenu ();
00075 }
00076
00077 void CNOWDlg::OnWhatisthis()
00078 {
00079 _CHMgr.OnWT ();
00080 }
00081
00082 void CNOWDlg::ApplyLanguage()
00083 {
00084 fsDlgLngInfo lnginfo [] = {
00085 fsDlgLngInfo (IDC__WELCOMETONOW, L_WELCOMETONOW),
00086 fsDlgLngInfo (IDC__MASTERDESC, L_NOWDESC),
00087 fsDlgLngInfo (IDC__CONNTYPE, L_SELECTCONNTYPE),
00088 fsDlgLngInfo (IDOK, L_FINISH),
00089 fsDlgLngInfo (IDCANCEL, L_CANCEL),
00090 };
00091
00092 _LngMgr.ApplyLanguage (this, lnginfo, sizeof (lnginfo) / sizeof (fsDlgLngInfo), L_NOW);
00093 }
00094
00095 BOOL CNOWDlg::OnHelpInfo(HELPINFO* pHelpInfo)
00096 {
00097 RECT rc;
00098 CWnd *pItem = GetDlgItem (pHelpInfo->iCtrlId);
00099 if (pItem == NULL)
00100 return TRUE;
00101 pItem->GetWindowRect (&rc);
00102 if (PtInRect (&rc, pHelpInfo->MousePos) == FALSE)
00103 {
00104 pHelpInfo->MousePos.x = rc.left + (rc.right - rc.left) / 2;
00105 pHelpInfo->MousePos.y = rc.top + (rc.bottom - rc.top) / 2;
00106 }
00107 PrepareCHMgr (pHelpInfo->MousePos);
00108 _CHMgr.OnWT ();
00109 return TRUE;
00110 }
00111
00112 void CNOWDlg::PrepareCHMgr(CPoint point)
00113 {
00114 fsCtrlContextHelp aCH1 [] = {
00115 fsCtrlContextHelp (IDC_CT, LS (L_CONNTYPEHERE)),
00116 fsCtrlContextHelp (IDOK, LS (L_ADJUSTFDM)),
00117 fsCtrlContextHelp (IDCANCEL, LS (L_DONTACCEPTCHANGES)),
00118 };
00119
00120 static fsCtrlContextHelp aCH [sizeof (aCH1) / sizeof (fsCtrlContextHelp)];
00121 CopyMemory (aCH, aCH1, sizeof (aCH));
00122
00123 _CHMgr.PrepareContextMenu (this, point, aCH, sizeof (aCH) / sizeof (fsCtrlContextHelp));
00124 }