00001
00002
00003
00004
00005
00006 #include "InputNumDLG.h"
00007
00008
00009 using namespace jbxwl;
00010
00011
00012
00014
00015
00016
00017 IMPLEMENT_DYNAMIC(CInputNumDLG, CDialog)
00018
00019 CInputNumDLG::CInputNumDLG(CWnd* pParent )
00020 : CDialog(CInputNumDLG::IDD, pParent)
00021 {
00022 valtlBox = NULL;
00023 valBox = NULL;
00024
00025 valtl = _T("");
00026 val = 0;
00027 }
00028
00029
00030
00031 CInputNumDLG::CInputNumDLG(LPCTSTR vt, int v, CWnd* pParent )
00032 : CDialog(CInputNumDLG::IDD, pParent)
00033 {
00034 valtlBox = NULL;
00035 valBox = NULL;
00036
00037 valtl = vt;
00038 val = v;
00039 }
00040
00041
00042
00043 CInputNumDLG::~CInputNumDLG()
00044 {
00045 }
00046
00047
00048
00049 void CInputNumDLG::DoDataExchange(CDataExchange* pDX)
00050 {
00051 CDialog::DoDataExchange(pDX);
00052 }
00053
00054
00055
00056 BEGIN_MESSAGE_MAP(CInputNumDLG, CDialog)
00057 END_MESSAGE_MAP()
00058
00059
00060
00061
00062
00063 BOOL CInputNumDLG::OnInitDialog()
00064 {
00065 TCHAR buf[LMNAME];
00066
00067 valtlBox = (CStatic*)GetDlgItem(IDC_INM_VALTTL);
00068 valBox = (CEdit*)GetDlgItem(IDC_INM_VAL);
00069
00070 if (valtl!=_T("")) valtlBox->SetWindowText(valtl);
00071
00072 sntprintf(buf, LMNAME, _T("%d"), val);
00073 valBox->SetWindowText(buf);
00074
00075 return TRUE;
00076 }
00077
00078
00079
00080 void CInputNumDLG::OnOK()
00081 {
00082 TCHAR buf[LMNAME];
00083
00084 valBox->GetWindowText(buf, LMNAME);
00085 val = ttoi(buf);
00086
00087 CDialog::OnOK();
00088 return;
00089 }
00090
00091
00092
00093
00095
00096
00097
00098 IMPLEMENT_DYNAMIC(CInputFloatNumDLG, CDialog)
00099
00100 CInputFloatNumDLG::CInputFloatNumDLG(CWnd* pParent )
00101 : CDialog(CInputFloatNumDLG::IDD, pParent)
00102 {
00103 valtlBox = NULL;
00104 valBox = NULL;
00105
00106 valtl = _T("");
00107 val = 0.0;
00108 }
00109
00110
00111
00112 CInputFloatNumDLG::CInputFloatNumDLG(LPCTSTR vt, double v, CWnd* pParent )
00113 : CDialog(CInputFloatNumDLG::IDD, pParent)
00114 {
00115 valtlBox = NULL;
00116 valBox = NULL;
00117
00118 valtl = vt;
00119 val = v;
00120 }
00121
00122
00123
00124 CInputFloatNumDLG::~CInputFloatNumDLG()
00125 {
00126 }
00127
00128
00129
00130 void CInputFloatNumDLG::DoDataExchange(CDataExchange* pDX)
00131 {
00132 CDialog::DoDataExchange(pDX);
00133 }
00134
00135
00136
00137 BEGIN_MESSAGE_MAP(CInputFloatNumDLG, CDialog)
00138 END_MESSAGE_MAP()
00139
00140
00141
00142
00143
00144 BOOL CInputFloatNumDLG::OnInitDialog()
00145 {
00146 TCHAR buf[LMNAME];
00147
00148 valtlBox = (CStatic*)GetDlgItem(IDC_INM_FLTTTL);
00149 valBox = (CEdit*)GetDlgItem(IDC_INM_FLT);
00150
00151 if (valtl!=_T("")) valtlBox->SetWindowText(valtl);
00152
00153 sntprintf(buf, LMNAME, _T("%8f"), val);
00154 valBox->SetWindowText(buf);
00155
00156 return TRUE;
00157 }
00158
00159
00160
00161 void CInputFloatNumDLG::OnOK()
00162 {
00163 TCHAR buf[LMNAME];
00164
00165 valBox->GetWindowText(buf, LMNAME);
00166 val = ttof(buf);
00167
00168 CDialog::OnOK();
00169 return;
00170 }
00171
00172
00173
00174
00176
00177
00178
00179 IMPLEMENT_DYNAMIC(CInputMultiFloatNumDLG, CDialog)
00180
00181 CInputMultiFloatNumDLG::CInputMultiFloatNumDLG(CWnd* pParent )
00182 : CDialog(CInputMultiFloatNumDLG::IDD, pParent)
00183 {
00184 for (int i=0; i<6; i++) {
00185 valtlBox[i] = NULL;
00186 valBox[i] = NULL;
00187 valtl[i] = _T("");
00188 val[i] = 0.0;
00189 }
00190 }
00191
00192
00193
00194 CInputMultiFloatNumDLG::CInputMultiFloatNumDLG(LPCTSTR t0, double v0, LPCTSTR t1, double v1, LPCTSTR t2, double v2,
00195 LPCTSTR t3, double v3, LPCTSTR t4, double v4, LPCTSTR t5, double v5, CWnd* pParent)
00196 : CDialog(CInputMultiFloatNumDLG::IDD, pParent)
00197 {
00198 for (int i=0; i<6; i++) {
00199 valtlBox[i] = NULL;
00200 valBox[i] = NULL;
00201 }
00202
00203 valtl[0] = t0;
00204 valtl[1] = t1;
00205 valtl[2] = t2;
00206 valtl[3] = t3;
00207 valtl[4] = t4;
00208 valtl[5] = t5;
00209 val[0] = v0;
00210 val[1] = v1;
00211 val[2] = v2;
00212 val[3] = v3;
00213 val[4] = v4;
00214 val[5] = v5;
00215 }
00216
00217
00218
00219 CInputMultiFloatNumDLG::~CInputMultiFloatNumDLG()
00220 {
00221 }
00222
00223
00224
00225 void CInputMultiFloatNumDLG::DoDataExchange(CDataExchange* pDX)
00226 {
00227 CDialog::DoDataExchange(pDX);
00228 }
00229
00230
00231
00232 BEGIN_MESSAGE_MAP(CInputMultiFloatNumDLG, CDialog)
00233 END_MESSAGE_MAP()
00234
00235
00236
00237
00238
00239
00240 BOOL CInputMultiFloatNumDLG::OnInitDialog()
00241 {
00242 valtlBox[0] = (CStatic*)GetDlgItem(IDC_INM_MLT_VALTTL0);
00243 valtlBox[1] = (CStatic*)GetDlgItem(IDC_INM_MLT_VALTTL1);
00244 valtlBox[2] = (CStatic*)GetDlgItem(IDC_INM_MLT_VALTTL2);
00245 valtlBox[3] = (CStatic*)GetDlgItem(IDC_INM_MLT_VALTTL3);
00246 valtlBox[4] = (CStatic*)GetDlgItem(IDC_INM_MLT_VALTTL4);
00247 valtlBox[5] = (CStatic*)GetDlgItem(IDC_INM_MLT_VALTTL5);
00248
00249 valBox[0] = (CEdit*)GetDlgItem(IDC_INM_MLT_VAL0);
00250 valBox[1] = (CEdit*)GetDlgItem(IDC_INM_MLT_VAL1);
00251 valBox[2] = (CEdit*)GetDlgItem(IDC_INM_MLT_VAL2);
00252 valBox[3] = (CEdit*)GetDlgItem(IDC_INM_MLT_VAL3);
00253 valBox[4] = (CEdit*)GetDlgItem(IDC_INM_MLT_VAL4);
00254 valBox[5] = (CEdit*)GetDlgItem(IDC_INM_MLT_VAL5);
00255
00256 TCHAR buf[LMNAME];
00257
00258
00259 for (int i=0; i<6; i++) {
00260 if (valtl[i]!=_T("")) {
00261 valtlBox[i]->SetWindowText(valtl[i]);
00262 sntprintf(buf, LMNAME, _T("%8f"), val[i]);
00263 valBox[i]->SetWindowText(buf);
00264 }
00265 else {
00266 CString mesg;
00267 mesg.LoadString(IDS_STR_UNUSED);
00268 valtlBox[i]->SetWindowText(mesg);
00269 valtlBox[i]->EnableWindow(FALSE);
00270 valBox[i]->SetWindowText(_T("0.0"));
00271 valBox[i]->EnableWindow(FALSE);
00272 }
00273 }
00274
00275 return TRUE;
00276 }
00277
00278
00279
00280 void CInputMultiFloatNumDLG::OnOK()
00281 {
00282 TCHAR buf[LMNAME];
00283
00284
00285 for (int i=0; i<6; i++) {
00286 valBox[i]->GetWindowText(buf, LMNAME);
00287 val[i] = ttof(buf);
00288 }
00289
00290 CDialog::OnOK();
00291 return;
00292 }
00293
00294
00295
00297
00298 BOOL jbxwl::InputNumDLG(LPCTSTR title, int* val)
00299 {
00300 CInputNumDLG* inpdlg = new CInputNumDLG(title, *val);
00301 if (inpdlg->DoModal()!=IDOK) {
00302 delete(inpdlg);
00303 return FALSE;
00304 }
00305
00306 *val = inpdlg->val;
00307 delete(inpdlg);
00308 return TRUE;
00309 }
00310
00311
00312
00313 BOOL jbxwl::InputFloatNumDLG(LPCTSTR title, double* val)
00314 {
00315 CInputFloatNumDLG* inpdlg = new CInputFloatNumDLG(title, *val);
00316 if (inpdlg->DoModal()!=IDOK) {
00317 delete(inpdlg);
00318 return FALSE;
00319 }
00320
00321 *val = inpdlg->val;
00322 delete(inpdlg);
00323 return TRUE;
00324 }
00325
00326
00327
00328 BOOL jbxwl::InputMultiFloatNumDLG(LPCTSTR t0, double* v0, LPCTSTR t1, double* v1, LPCTSTR t2, double* v2,
00329 LPCTSTR t3, double* v3, LPCTSTR t4, double* v4, LPCTSTR t5, double* v5)
00330 {
00331 CString ttl[6];
00332 double val[6];
00333
00334 for (int i=0; i<6; i++) {
00335 ttl[i] = _T("");
00336 val[i] = 0.0;
00337 }
00338
00339 if (t0!=NULL && v0!=NULL) {
00340 ttl[0] = t0;
00341 val[0] = *v0;
00342 }
00343 if (t1!=NULL && v1!=NULL) {
00344 ttl[1] = t1;
00345 val[1] = *v1;
00346 }
00347 if (t2!=NULL && v2!=NULL) {
00348 ttl[2] = t2;
00349 val[2] = *v2;
00350 }
00351 if (t3!=NULL && v3!=NULL) {
00352 ttl[3] = t3;
00353 val[3] = *v3;
00354 }
00355 if (t4!=NULL && v4!=NULL) {
00356 ttl[4] = t4;
00357 val[4] = *v4;
00358 }
00359 if (t5!=NULL && v5!=NULL) {
00360 ttl[5] = t5;
00361 val[5] = *v5;
00362 }
00363
00364 CInputMultiFloatNumDLG* inpdlg = new CInputMultiFloatNumDLG((LPCTSTR)ttl[0], val[0], (LPCTSTR)ttl[1], val[1],
00365 (LPCTSTR)ttl[2], val[2], (LPCTSTR)ttl[3], val[3],
00366 (LPCTSTR)ttl[4], val[4], (LPCTSTR)ttl[5], val[5]);
00367 if (inpdlg->DoModal()!=IDOK) {
00368 delete(inpdlg);
00369 return FALSE;
00370 }
00371
00372 if (v0!=NULL) *v0 = inpdlg->val[0];
00373 if (v1!=NULL) *v1 = inpdlg->val[1];
00374 if (v2!=NULL) *v2 = inpdlg->val[2];
00375 if (v3!=NULL) *v3 = inpdlg->val[3];
00376 if (v4!=NULL) *v4 = inpdlg->val[4];
00377 if (v5!=NULL) *v5 = inpdlg->val[5];
00378
00379 delete(inpdlg);
00380 return TRUE;
00381 }
00382