|
|
#include "precomp.h"
#pragma hdrstop
extern HWND hWndShell;
/* LONG APIENTRY LDefSetupDlgProc(HWND hDlg, UINT wMsg, WORD wParam,
* LPARAM lParam); * * Function acts as setup's DefDialogProc(). We use this to process Help and * Exit button usage so that we don't have to put code into each of our dialog * procs to do this. The way it works is we filter all the dialog message for * WM_COMMAND - IDC_H/ID_EXIT messages, these we process right here. The rest * of the messages are passed on to DefDialogProc(). * * ENTRY: hDlg - Handle to dialog box who received the focus. * wMsg - Message. * wParam - Message dependent. * lParam - Message dependent. * * EXIT: * */
INT_PTR APIENTRY LDefSetupDlgProc( HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam )
{ switch(wMsg) {
case WM_KEYDOWN:
switch(wParam) {
case VK_F1:
SendMessage( hDlg, WM_COMMAND, MAKELONG(IDC_H, BN_CLICKED), lParam );
return ( 0L );
case VK_F3:
SendMessage( hDlg, WM_COMMAND, MAKELONG(IDC_X, BN_CLICKED), lParam );
return ( 0L );
default:
break; }
break;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDC_H:
PostMessage( hWndShell, WM_COMMAND, MAKELONG(ID_HELPBUTTON, BN_CLICKED), 0L );
return( 0L );
default:
break; }
default:
break;
}
return( DefDlgProc( hDlg, wMsg, wParam, lParam ) );
}
BOOL DlgDefClassInit( IN HANDLE hInst, IN BOOL Init )
{ WNDCLASS wc;
if(Init) {
/* Register setup's own personal dialog class. We do this so that we
* can have generic help and exit buttons on all the setup dialogs * that need them. */
wc.hCursor = LoadCursor(NULL,IDC_ARROW); wc.hIcon = NULL; wc.lpszMenuName = NULL; wc.lpszClassName = CLS_MYDLGS; wc.hbrBackground = NULL; wc.hInstance = hInst; wc.style = CS_DBLCLKS | CS_SAVEBITS | CS_BYTEALIGNWINDOW | CS_GLOBALCLASS; wc.lpfnWndProc = LDefSetupDlgProc; wc.cbClsExtra = 0; wc.cbWndExtra = DLGWINDOWEXTRA;
return ( RegisterClass(&wc) );
} else {
return(UnregisterClass(CLS_MYDLGS,hInst)); } }
|