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