00001
00002
00003
00004
00005
00006 #include "stdafx.h"
00007 #include "FdmApp.h"
00008 #include "SCRDlg.h"
00009 #include "downloadproperties.h"
00010
00011 #ifdef _DEBUG
00012 #define new DEBUG_NEW
00013 #undef THIS_FILE
00014 static char THIS_FILE[] = __FILE__;
00015 #endif
00016
00017 CSCRDlg::CSCRDlg(CWnd* pParent )
00018 : CDialog(CSCRDlg::IDD, pParent)
00019 {
00020 m_enSCR = SCR_RESTART;
00021
00022
00023
00024 }
00025
00026 void CSCRDlg::DoDataExchange(CDataExchange* pDX)
00027 {
00028 CDialog::DoDataExchange(pDX);
00029
00030
00031
00032 }
00033
00034 BEGIN_MESSAGE_MAP(CSCRDlg, CDialog)
00035
00036 ON_BN_CLICKED(IDC_RESTART, OnRestart)
00037 ON_BN_CLICKED(IDC_ADJUST, OnAdjust)
00038 ON_BN_CLICKED(IDC_STOP, OnStop)
00039 ON_WM_CONTEXTMENU()
00040 ON_COMMAND(ID_WHATISTHIS, OnWhatisthis)
00041 ON_WM_CLOSE()
00042 ON_WM_HELPINFO()
00043
00044 END_MESSAGE_MAP()
00045
00046 void CSCRDlg::OnRestart()
00047 {
00048 m_enSCR = SCR_RESTART;
00049 m_bDontAskAgain = IsDlgButtonChecked (IDC_DONTASKAGAIN) == BST_CHECKED;
00050 EndDialog (IDOK);
00051 }
00052
00053 void CSCRDlg::OnAdjust()
00054 {
00055 m_enSCR = SCR_ADJUSTFORNEWSIZE;
00056 m_bDontAskAgain = IsDlgButtonChecked (IDC_DONTASKAGAIN) == BST_CHECKED;
00057 EndDialog (IDOK);
00058 }
00059
00060 void CSCRDlg::OnStop()
00061 {
00062 m_enSCR = SCR_STOP;
00063 m_bDontAskAgain = IsDlgButtonChecked (IDC_DONTASKAGAIN) == BST_CHECKED;
00064 EndDialog (IDOK);
00065 }
00066
00067 BOOL CSCRDlg::OnInitDialog()
00068 {
00069 CDialog::OnInitDialog();
00070
00071 ((CStatic*) GetDlgItem (IDC_DLGICON))->SetIcon (LoadIcon (NULL, IDI_QUESTION));
00072
00073 CString str;
00074 char szUrl [10000];
00075 DWORD dwLen = 10000;
00076 fsURL url;
00077
00078 url.Create (fsNPToScheme (m_dnp->enProtocol), m_dnp->pszServerName, m_dnp->uServerPort,
00079 NULL, NULL, m_dnp->pszPathName, szUrl, &dwLen);
00080
00081 str.Format (LS (L_SIZECHANGEDWTD), szUrl);
00082 SetDlgItemText (IDC_MESSAGE, str);
00083
00084 ApplyLanguage ();
00085
00086 return TRUE;
00087 }
00088
00089 void CSCRDlg::OnContextMenu(CWnd* , CPoint point)
00090 {
00091 PrepareCHMgr (point);
00092 _CHMgr.ShowMenu ();
00093 }
00094
00095 void CSCRDlg::OnWhatisthis()
00096 {
00097 _CHMgr.OnWT ();
00098 }
00099
00100 void CSCRDlg::ApplyLanguage()
00101 {
00102 fsDlgLngInfo lnginfo [] = {
00103 fsDlgLngInfo (IDC_DONTASKAGAIN, L_DONTASKAGAIN),
00104 fsDlgLngInfo (IDC_RESTART, L_RESTART),
00105 fsDlgLngInfo (IDC_ADJUST, L_ADJUST),
00106 fsDlgLngInfo (IDC_STOP, L_STOP),
00107 };
00108
00109 _LngMgr.ApplyLanguage (this, lnginfo, sizeof (lnginfo) / sizeof (fsDlgLngInfo), L_ASKUSER);
00110 }
00111
00112 void CSCRDlg::OnClose()
00113 {
00114
00115 }
00116
00117 void CSCRDlg::PrepareCHMgr(CPoint point)
00118 {
00119 fsCtrlContextHelp aCH1 [] = {
00120 fsCtrlContextHelp (IDC_DONTASKAGAIN, LS (L_DONTASKAGAINHERE)),
00121 fsCtrlContextHelp (IDC_RESTART, LS (L_RESTARTHERE)),
00122 fsCtrlContextHelp (IDC_ADJUST, LS (L_ADJUSTHERE)),
00123 fsCtrlContextHelp (IDC_STOP, LS (L_STOPHERE)),
00124 };
00125
00126 static fsCtrlContextHelp aCH [sizeof (aCH1) / sizeof (fsCtrlContextHelp)];
00127 CopyMemory (aCH, aCH1, sizeof (aCH));
00128
00129 _CHMgr.PrepareContextMenu (this, point, aCH, sizeof (aCH) / sizeof (fsCtrlContextHelp));
00130 }
00131
00132 BOOL CSCRDlg::OnHelpInfo(HELPINFO* pHelpInfo)
00133 {
00134 RECT rc;
00135 CWnd *pItem = GetDlgItem (pHelpInfo->iCtrlId);
00136 if (pItem == NULL)
00137 return TRUE;
00138 pItem->GetWindowRect (&rc);
00139 if (PtInRect (&rc, pHelpInfo->MousePos) == FALSE)
00140 {
00141 pHelpInfo->MousePos.x = rc.left + (rc.right - rc.left) / 2;
00142 pHelpInfo->MousePos.y = rc.top + (rc.bottom - rc.top) / 2;
00143 }
00144 PrepareCHMgr (pHelpInfo->MousePos);
00145 _CHMgr.OnWT ();
00146 return TRUE;
00147 }