1*c2c66affSColin Finck #include "DefragDialog.h"
2*c2c66affSColin Finck #include "Defragment.h"
3*c2c66affSColin Finck #include "resource.h"
4*c2c66affSColin Finck 
5*c2c66affSColin Finck 
UpdateDefragInfo(HWND Dlg)6*c2c66affSColin Finck void UpdateDefragInfo (HWND Dlg)
7*c2c66affSColin Finck {
8*c2c66affSColin Finck     Defragment *Defrag;
9*c2c66affSColin Finck     HWND PercentItem;
10*c2c66affSColin Finck     char PercentText[100];
11*c2c66affSColin Finck 
12*c2c66affSColin Finck     Defrag = (Defragment *) GetWindowLongPtr (Dlg, GWLP_USERDATA);
13*c2c66affSColin Finck 
14*c2c66affSColin Finck     sprintf (PercentText, "%6.2f%%", Defrag->GetStatusPercent());
15*c2c66affSColin Finck     PercentItem = GetDlgItem (Dlg, IDC_PERCENT);
16*c2c66affSColin Finck     SendMessage (GetDlgItem (Dlg, IDC_PERCENT), WM_SETTEXT, 0, (LPARAM) PercentText);
17*c2c66affSColin Finck     SendMessage (GetDlgItem (Dlg, IDC_STATUS_TEXT), WM_SETTEXT, 0, (LPARAM) Defrag->GetStatusString().c_str());
18*c2c66affSColin Finck 
19*c2c66affSColin Finck     return;
20*c2c66affSColin Finck }
21*c2c66affSColin Finck 
22*c2c66affSColin Finck 
DefragDialogProc(HWND Dlg,UINT Msg,WPARAM WParam,LPARAM LParam)23*c2c66affSColin Finck INT_PTR CALLBACK DefragDialogProc (HWND Dlg, UINT Msg, WPARAM WParam, LPARAM LParam)
24*c2c66affSColin Finck {
25*c2c66affSColin Finck     switch (Msg)
26*c2c66affSColin Finck     {
27*c2c66affSColin Finck         case WM_INITDIALOG:
28*c2c66affSColin Finck             SetWindowLongPtr (Dlg, GWLP_USERDATA, (LONG_PTR)LParam);
29*c2c66affSColin Finck             UpdateDefragInfo (Dlg);
30*c2c66affSColin Finck             return (1);
31*c2c66affSColin Finck 
32*c2c66affSColin Finck         case WM_UPDATEINFO:
33*c2c66affSColin Finck             UpdateDefragInfo (Dlg);
34*c2c66affSColin Finck             return (1);
35*c2c66affSColin Finck     }
36*c2c66affSColin Finck 
37*c2c66affSColin Finck     return (0);
38*c2c66affSColin Finck }
39