2
* Copyright 2000, International Business Machines Corporation and others.
5
* This software has been released under the terms of the IBM Public
6
* License. For details, see the LICENSE file in the top-level source
7
* directory or online at http://www.openafs.org/dl/license10.html
11
* INCLUDES ___________________________________________________________________
15
#include <afs/param.h>
20
#include <WINNT/talocale.h>
22
#include "progress_dlg.h"
23
#include "animate_icon.h"
27
* DEFINITIONS _________________________________________________________________
33
* Variables _________________________________________________________________
36
static HWND hDlg = 0; // HWND for this page's dialog
37
static char *pszProgressMsg = 0;
42
* PROTOTYPES _________________________________________________________________
45
BOOL CALLBACK ProgressDlgProc(HWND hRHS, UINT msg, WPARAM wp, LPARAM lp);
46
static DWORD WINAPI DisplayProgressDlg(LPVOID param);
47
static void OnInitDialog(HWND hwndDlg);
52
* EXPORTED FUNCTIONS _________________________________________________________
55
BOOL ShowProgressDialog(char *pszMsg)
59
pszProgressMsg = pszMsg;
61
// Create a thread to show the dialog
62
HANDLE hThread = CreateThread(0, 0, DisplayProgressDlg, 0, 0, &dwThreadID);
66
return (hThread != 0);
69
void HideProgressDialog(void)
71
PostMessage(hDlg, WM_QUIT, 0, 0);
76
* Dialog Proc _________________________________________________________________
79
static BOOL CALLBACK ProgressDlgProc(HWND hwndDlg, UINT msg, WPARAM wp, LPARAM lp)
83
OnInitDialog(hwndDlg);
85
SetWindowText(GetDlgItem(hDlg, IDC_MSG), pszProgressMsg);
98
* Event Handler Functions __________________________________________________________
101
static void OnInitDialog(HWND hwndDlg)
105
SetWindowText(GetDlgItem(hDlg, IDC_MSG), pszProgressMsg);
107
hLogo = GetDlgItem(hDlg, IDC_LOGO);
109
StartAnimation(hLogo, 8);
114
StopAnimation(hLogo);
116
EndDialog(hDlg, IDOK);
121
* OTHER FUNCTIONS _________________________________________________________________
124
static DWORD WINAPI DisplayProgressDlg(LPVOID param)
126
ModalDialog (IDD_PROGRESS, 0, (DLGPROC)ProgressDlgProc);