|
|
/*++
Copyright (c) 1996 Microsoft Corporation
Module Name:
dialogs.c
Abstract:
This file implements the dialog proc for the server file copy page.
Environment:
WIN32 User Mode
Author:
Wesley Witt (wesw) 17-Feb-1996
--*/
#include "wizard.h"
#pragma hdrstop
LRESULT FileCopyDlgProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) { static BOOL OkToProceed = FALSE; static DWORD RangeMax = 0; HANDLE hThread; DWORD ThreadId;
switch( msg ) { case WM_INITDIALOG: SetDlgItemText( hwnd, IDC_FC_WAITMSG, InstallMode & INSTALL_REMOVE ? GetString(IDS_DELETE_WAITMSG) : GetString(IDS_COPY_WAITMSG) );
break ; case WM_MY_PROGRESS: if (wParam == 0xfe) { lParam += RangeMax; SendDlgItemMessage( hwnd, IDC_COPY_PROGRESS, PBM_SETRANGE, 0, MAKELPARAM(0,(lParam))); SendDlgItemMessage( hwnd, IDC_COPY_PROGRESS, PBM_SETSTEP, 1, 0 ); } else if (wParam == 0xff) { RangeMax = lParam; } else { SendDlgItemMessage( hwnd, IDC_COPY_PROGRESS, PBM_DELTAPOS, wParam, 0 ); } break;
case WM_NOTIFY: switch( ((LPNMHDR)lParam)->code ) { case PSN_SETACTIVE: if (Unattended) { if (InstallMode & INSTALL_REMOVE) { UninstallThread( hwnd ); } else { ServerFileCopyThread( hwnd ); } SetWindowLong( hwnd, DWL_MSGRESULT, -1 ); return TRUE; } else { hThread = CreateThread( NULL, 0, (InstallMode & INSTALL_REMOVE) ? (LPTHREAD_START_ROUTINE) UninstallThread : (LPTHREAD_START_ROUTINE) ServerFileCopyThread, hwnd, 0, &ThreadId ); if (hThread) {
SetWindowLong( hwnd, DWL_MSGRESULT, -1 ); PropSheet_SetWizButtons( GetParent(hwnd), 0 ); return FALSE;
} else {
//
// popup an error
//
} } break; } break; }
return FALSE; }
|