Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /branches/ttcomtester/teraterm/teraterm/ftdlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2576 - (hide annotations) (download) (as text)
Fri Aug 8 01:28:34 2008 UTC (15 years, 8 months ago) by doda
Original Path: teraterm/trunk/teraterm/ftdlg.cpp
File MIME type: text/x-c++src
File size: 5024 byte(s)
ファイル送信時のダイアログボックスにプログレスバーを表示するようにした。

1 maya 2476 /* Tera Term
2     Copyright(C) 1994-1998 T. Teranishi
3     All rights reserved. */
4    
5     /* TERATERM.EXE, file transfer dialog box */
6     #include "stdafx.h"
7     #include "teraterm.h"
8     #include "tttypes.h"
9     #include "ttftypes.h"
10     #include "ttlib.h"
11     #include "tt_res.h"
12     #include "ftdlg.h"
13    
14     #ifdef _DEBUG
15     #define new DEBUG_NEW
16     #undef THIS_FILE
17     static char THIS_FILE[] = __FILE__;
18     #endif
19    
20     /////////////////////////////////////////////////////////////////////////////
21     // CFileTransDlg dialog
22    
23     BEGIN_MESSAGE_MAP(CFileTransDlg, CDialog)
24     //{{AFX_MSG_MAP(CFileTransDlg)
25     //}}AFX_MSG_MAP
26     END_MESSAGE_MAP()
27    
28     BOOL CFileTransDlg::Create(PFileVar pfv, PComVar pcv, PTTSet pts)
29     {
30     BOOL Ok;
31     WNDCLASS wc;
32 maya 2570 int fuLoad = LR_DEFAULTCOLOR;
33 maya 2476
34     fv = pfv;
35     cv = pcv;
36     cv->FilePause &= ~fv->OpId;
37     ts = pts;
38     LOGFONT logfont;
39     HFONT font;
40    
41     wc.style = CS_PARENTDC;
42     wc.lpfnWndProc = AfxWndProc;
43     wc.cbClsExtra = 0;
44     wc.cbWndExtra = DLGWINDOWEXTRA;
45     wc.hInstance = AfxGetInstanceHandle();
46 maya 2570 if (is_NT4()) {
47     fuLoad = LR_VGACOLOR;
48     }
49     wc.hIcon = (HICON)LoadImage(wc.hInstance, MAKEINTRESOURCE(IDI_TTERM),
50     IMAGE_ICON, 0, 0, fuLoad);
51 maya 2476 wc.hCursor = LoadCursor(NULL,IDC_ARROW);
52     wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE+1);
53     wc.lpszMenuName = NULL;
54     wc.lpszClassName = "FTDlg32";
55     RegisterClass(&wc);
56    
57     Pause = FALSE;
58     if (fv->OpId == OpLog) // parent window is desktop
59     Ok = CDialog::Create(CFileTransDlg::IDD, GetDesktopWindow());
60     else // parent window is VT window
61     Ok = CDialog::Create(CFileTransDlg::IDD, NULL);
62    
63     fv->HWin = GetSafeHwnd();
64    
65     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
66     GetObject(font, sizeof(LOGFONT), &logfont);
67     if (get_lang_font("DLG_SYSTEM_FONT", fv->HWin, &logfont, &DlgFont, ts->UILanguageFile)) {
68     SendDlgItemMessage(IDC_TRANS_FILENAME, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
69     SendDlgItemMessage(IDC_TRANSFNAME, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
70     SendDlgItemMessage(IDC_FULLPATH_LABEL, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
71     SendDlgItemMessage(IDC_EDIT_FULLPATH, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
72     SendDlgItemMessage(IDC_TRANS_TRANS, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
73     SendDlgItemMessage(IDC_TRANSBYTES, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
74     SendDlgItemMessage(IDC_TRANSPAUSESTART, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
75     SendDlgItemMessage(IDCANCEL, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
76     SendDlgItemMessage(IDC_TRANSHELP, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
77     }
78    
79     return Ok;
80     }
81    
82     void CFileTransDlg::ChangeButton(BOOL PauseFlag)
83     {
84     Pause = PauseFlag;
85     if (Pause)
86     {
87     get_lang_msg("DLG_FILETRANS_START", ts->UIMsg, sizeof(ts->UIMsg), "&Start", ts->UILanguageFile);
88     SetDlgItemText(IDC_TRANSPAUSESTART, ts->UIMsg);
89     cv->FilePause |= fv->OpId;
90     }
91     else {
92     get_lang_msg("DLG_FILETRANS_PAUSE", ts->UIMsg, sizeof(ts->UIMsg), "Pau&se", ts->UILanguageFile);
93     SetDlgItemText(IDC_TRANSPAUSESTART, ts->UIMsg);
94     cv->FilePause &= ~fv->OpId;
95     }
96     }
97    
98     void CFileTransDlg::RefreshNum()
99     {
100 doda 2576 char NumStr[24];
101     double rate;
102 maya 2476
103 doda 2576 if (fv->OpId == OpSendFile && fv->FileSize > 0) {
104     rate = 100.0 * (double)fv->ByteCount / (double)fv->FileSize;
105     if (fv->ProgStat < (int)rate) {
106     fv->ProgStat = (int)rate;
107     SendDlgItemMessage(IDC_TRANSPROGRESS, PBM_SETPOS, (WPARAM)fv->ProgStat, 0);
108     }
109     _snprintf_s(NumStr,sizeof(NumStr),_TRUNCATE,"%u (%3.1f%%)",fv->ByteCount, rate);
110     }
111     else {
112     _snprintf_s(NumStr,sizeof(NumStr),_TRUNCATE,"%u",fv->ByteCount);
113     }
114 maya 2476 SetDlgItemText(IDC_TRANSBYTES, NumStr);
115     }
116    
117     /////////////////////////////////////////////////////////////////////////////
118     // CFileTransDlg message handler
119    
120     BOOL CFileTransDlg::OnInitDialog()
121     {
122 maya 2570 int fuLoad = LR_DEFAULTCOLOR;
123    
124 maya 2476 SetWindowText(fv->DlgCaption);
125     SetDlgItemText(IDC_TRANSFNAME, &(fv->FullName[fv->DirLen]));
126    
127     // ���O�t�@�C�����t���p�X�\��������(2004.8.6 yutaka)
128     SetDlgItemText(IDC_EDIT_FULLPATH, &(fv->FullName[0]));
129    
130     // set the small icon
131 maya 2570 if (is_NT4()) {
132     fuLoad = LR_VGACOLOR;
133     }
134 maya 2476 ::PostMessage(GetSafeHwnd(),WM_SETICON,0,
135 maya 2570 (LPARAM)LoadImage(AfxGetInstanceHandle(),
136     MAKEINTRESOURCE(IDI_TTERM),
137     IMAGE_ICON,16,16,fuLoad));
138 maya 2476 return 1;
139     }
140    
141     void CFileTransDlg::OnCancel( )
142     {
143     ::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0);
144     }
145    
146     BOOL CFileTransDlg::OnCommand(WPARAM wParam, LPARAM lParam)
147     {
148     switch (LOWORD(wParam)) {
149     case IDCANCEL:
150     ::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0);
151     return TRUE;
152     case IDC_TRANSPAUSESTART:
153     ChangeButton(! Pause);
154     return TRUE;
155     case IDC_TRANSHELP:
156     ::PostMessage(fv->HMainWin,WM_USER_DLGHELP2,0,0);
157     return TRUE;
158     default:
159     return (CDialog::OnCommand(wParam,lParam));
160     }
161     }
162    
163     void CFileTransDlg::PostNcDestroy()
164     {
165     delete this;
166     }
167    
168     LRESULT CFileTransDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
169     {
170     return DefDlgProc(GetSafeHwnd(),message,wParam,lParam);
171     }

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26