00001
00002
00003
00004
00005
00006 #include "stdafx.h"
00007 #include "fdmapp.h"
00008 #include "AERDlg.h"
00009
00010 #ifdef _DEBUG
00011 #define new DEBUG_NEW
00012 #undef THIS_FILE
00013 static char THIS_FILE[] = __FILE__;
00014 #endif
00015
00016 CAERDlg::CAERDlg(CWnd* pParent )
00017 : CDialog(CAERDlg::IDD, pParent)
00018 {
00019 m_bDSR = FALSE;
00020 m_enAER = AER_RENAME;
00021
00022
00023
00024 }
00025
00026 void CAERDlg::DoDataExchange(CDataExchange* pDX)
00027 {
00028 CDialog::DoDataExchange(pDX);
00029
00030
00031
00032 }
00033
00034 BEGIN_MESSAGE_MAP(CAERDlg, CDialog)
00035
00036 ON_BN_CLICKED(IDC_REWRITE, OnRewrite)
00037 ON_BN_CLICKED(IDC_RENAME, OnRename)
00038 ON_BN_CLICKED(IDC_STOP, OnStop)
00039 ON_BN_CLICKED(IDC_RESUME, OnResume)
00040 ON_WM_CONTEXTMENU()
00041 ON_COMMAND(ID_WHATISTHIS, OnWhatisthis)
00042 ON_WM_CLOSE()
00043 ON_WM_HELPINFO()
00044
00045 END_MESSAGE_MAP()
00046
00047 void CAERDlg::OnRewrite()
00048 {
00049 m_enAER = AER_REWRITE;
00050 m_bDontAskAgain = IsDlgButtonChecked (IDC_DONTASKAGAIN) == BST_CHECKED;
00051 EndDialog (IDOK);
00052 }
00053
00054 void CAERDlg::OnRename()
00055 {
00056 m_enAER = AER_RENAME;
00057 m_bDontAskAgain = IsDlgButtonChecked (IDC_DONTASKAGAIN) == BST_CHECKED;
00058 EndDialog (IDOK);
00059 }
00060
00061 void CAERDlg::OnStop()
00062 {
00063 m_enAER = AER_STOP;
00064 m_bDontAskAgain = IsDlgButtonChecked (IDC_DONTASKAGAIN) == BST_CHECKED;
00065 EndDialog (IDOK);
00066 }
00067
00068 void CAERDlg::OnResume()
00069 {
00070 m_enAER = AER_RESUME;
00071 m_bDontAskAgain = IsDlgButtonChecked (IDC_DONTASKAGAIN) == BST_CHECKED;
00072 EndDialog (IDOK);
00073 }
00074
00075 BOOL CAERDlg::OnInitDialog()
00076 {
00077 CDialog::OnInitDialog();
00078
00079 ((CStatic*) GetDlgItem (IDC_DLGICON))->SetIcon (LoadIcon (NULL, IDI_QUESTION));
00080
00081 CString str;
00082 str.Format (LS (L_FILEEXISTSWHATTODO), m_pszFile);
00083 SetDlgItemText (IDC__MESSAGE, str);
00084
00085 if (m_bDSR)
00086 {
00087 GetDlgItem (IDC_STOP)->EnableWindow (FALSE);
00088 GetDlgItem (IDC_RESUME)->EnableWindow (FALSE);
00089 }
00090
00091 GetDlgItem (IDC_RENAME)->SetFocus ();
00092
00093 ApplyLanguage ();
00094
00095 return FALSE;
00096 }
00097
00098 void CAERDlg::DisableStopAndResume()
00099 {
00100 m_bDSR = TRUE;
00101 }
00102
00103 void CAERDlg::OnWhatisthis()
00104 {
00105 _CHMgr.OnWT ();
00106 }
00107
00108 void CAERDlg::ApplyLanguage()
00109 {
00110 fsDlgLngInfo lnginfo [] = {
00111 fsDlgLngInfo (IDC_DONTASKAGAIN, L_DONTASKAGAIN),
00112 fsDlgLngInfo (IDC_REWRITE, L_REWRITE),
00113 fsDlgLngInfo (IDC_RENAME, L_RENAME),
00114 fsDlgLngInfo (IDC_RESUME, L_RESUME),
00115 fsDlgLngInfo (IDC_STOP, L_STOP),
00116 };
00117
00118 _LngMgr.ApplyLanguage (this, lnginfo, sizeof (lnginfo) / sizeof (fsDlgLngInfo), L_ASKUSER);
00119 }
00120
00121 void CAERDlg::OnClose()
00122 {
00123
00124 }
00125
00126 void CAERDlg::OnContextMenu(CWnd* , CPoint point)
00127 {
00128 PrepareCHMgr (point);
00129 _CHMgr.ShowMenu ();
00130 }
00131
00132 BOOL CAERDlg::OnHelpInfo(HELPINFO* pHelpInfo)
00133 {
00134 RECT rc;
00135
00136 CWnd *pItem = GetDlgItem (pHelpInfo->iCtrlId);
00137 if (pItem == NULL)
00138 return TRUE;
00139
00140 pItem->GetWindowRect (&rc);
00141 if (PtInRect (&rc, pHelpInfo->MousePos) == FALSE)
00142 {
00143 pHelpInfo->MousePos.x = rc.left + (rc.right - rc.left) / 2;
00144 pHelpInfo->MousePos.y = rc.top + (rc.bottom - rc.top) / 2;
00145 }
00146
00147 PrepareCHMgr (pHelpInfo->MousePos);
00148
00149 _CHMgr.OnWT ();
00150 return TRUE;
00151 }
00152
00153 void CAERDlg::PrepareCHMgr(CPoint point)
00154 {
00155 fsCtrlContextHelp aCH1 [] = {
00156 fsCtrlContextHelp (IDC_DONTASKAGAIN, LS (L_DONTASKAGAINHERE)),
00157 fsCtrlContextHelp (IDC_REWRITE, LS (L_REWRITEHERE)),
00158 fsCtrlContextHelp (IDC_RENAME, LS (L_RENAMEHERE)),
00159 fsCtrlContextHelp (IDC_RESUME, LS (L_RESUMEHERE)),
00160 fsCtrlContextHelp (IDC_STOP, LS (L_STOPHERE)),
00161 };
00162
00163 static fsCtrlContextHelp aCH [sizeof (aCH1) / sizeof (fsCtrlContextHelp)];
00164 CopyMemory (aCH, aCH1, sizeof (aCH));
00165
00166 _CHMgr.PrepareContextMenu (this, point, aCH, sizeof (aCH) / sizeof (fsCtrlContextHelp));
00167 }