|
|
//-------------------------------------------------------------------
//
// FILE: SecDlgs.cpp
//
// Summary;
// This file contians the Secondary Dialogs,
// functions and dialog procs
//
// Entry Points;
//
// History;
// Nov-30-94 MikeMi Created
// Mar-14-95 MikeMi Added F1 Message Filter and PWM_HELP message
//
//-------------------------------------------------------------------
#include <windows.h>
#include <htmlhelp.h>
#include "resource.h"
#include "liccpa.hpp"
#include <strsafe.h>
extern "C" { INT_PTR CALLBACK dlgprocLicViolation( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); INT_PTR CALLBACK dlgprocCommon( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); }
// used to define dlg initialization using common dlgproc
//
enum DLG_TYPE { DLGTYPE_AGREEMENT_PERSEAT, DLGTYPE_AGREEMENT_PERSERVER, DLGTYPE_PERSEATSETUP, DLGTYPE_SERVERAPP };
// used to pass info to a common dlgproc
//
typedef struct tagCOMMONDLGPARAM { LPWSTR pszDisplayName; DWORD dwLimit; LPWSTR pszHelpFile; DWORD dwHelpContext; DLG_TYPE dtType; } COMMONDLGPARAM, *PCOMMONDLGPARAM;
//-------------------------------------------------------------------
//
// Function: dlgprocLicViolation
//
// Summary;
// The dialog procedure for the Dialog
//
// Arguments;
// hwndDlg [in] - handle of Dialog window
// uMsg [in] - message
// lParam1 [in] - first message parameter
// lParam2 [in] - second message parameter
//
// Return;
// message dependant
//
// Notes;
//
// History;
// Dec-05-1994 MikeMi Created
// Mar-14-95 MikeMi Added F1 PWM_HELP message
//
//-------------------------------------------------------------------
INT_PTR CALLBACK dlgprocLicViolation( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) { UNREFERENCED_PARAMETER(lParam);
BOOL frt = FALSE;
switch (uMsg) { case WM_INITDIALOG: CenterDialogToScreen( hwndDlg ); frt = TRUE; // we use the default focus
break;
case WM_COMMAND: switch (HIWORD( wParam )) { case BN_CLICKED: switch (LOWORD( wParam )) { case IDCANCEL: frt = TRUE; // use as save flag
// intentional no break
case IDOK: EndDialog( hwndDlg, frt ); frt = FALSE; break;
case IDC_BUTTONHELP: PostMessage( hwndDlg, PWM_HELP, 0, 0 ); break;
default: break; } break;
default: break; } break;
default: if (PWM_HELP == uMsg) { ::HtmlHelp( hwndDlg, LICCPA_HTMLHELPFILE, HH_DISPLAY_TOPIC,0); } break; } return( frt ); }
//-------------------------------------------------------------------
//
// Function: OnCommonInitDialog
//
// Summary;
// Handle the initialization of the Common Dialog
//
// Arguments;
// hwndDlg [in] - the dialog to initialize
// pcdParams [in] - used to get displayname, helpfile
//
// Notes;
//
// History;
// Dec-05-1994 MikeMi Created
//
//-------------------------------------------------------------------
void OnCommonInitDialog( HWND hwndDlg, PCOMMONDLGPARAM pcdParams ) { HWND hwndOK = GetDlgItem( hwndDlg, IDOK );
CenterDialogToScreen( hwndDlg );
switch( pcdParams->dtType ) { case DLGTYPE_AGREEMENT_PERSEAT: InitStaticWithService2( hwndDlg, IDC_STATICINFO, pcdParams->pszDisplayName ); break;
case DLGTYPE_AGREEMENT_PERSERVER: { WCHAR szText[LTEMPSTR_SIZE]; WCHAR szTemp[LTEMPSTR_SIZE];
GetDlgItemText( hwndDlg, IDC_STATICINFO, szTemp, LTEMPSTR_SIZE ); //
// need both service display name and number of conncurrent connections
//
HRESULT hr = StringCbPrintf( szText, sizeof(szText), szTemp, pcdParams->dwLimit, pcdParams->pszDisplayName ); if (SUCCEEDED(hr)) SetDlgItemText( hwndDlg, IDC_STATICINFO, szText ); }
break;
case DLGTYPE_PERSEATSETUP: InitStaticWithService( hwndDlg, IDC_STATICTITLE, pcdParams->pszDisplayName ); InitStaticWithService2( hwndDlg, IDC_STATICINFO, pcdParams->pszDisplayName ); break;
case DLGTYPE_SERVERAPP: break;
default: break; }
// disable OK button at start!
EnableWindow( hwndOK, FALSE );
// if help is not defined, remove the button
if (NULL == pcdParams->pszHelpFile) { HWND hwndHelp = GetDlgItem( hwndDlg, IDC_BUTTONHELP );
EnableWindow( hwndHelp, FALSE ); ShowWindow( hwndHelp, SW_HIDE ); } }
//-------------------------------------------------------------------
//
// Function: OnCommonAgree
//
// Summary;
// Handle user interaction with Agree check box
//
// Arguments;
// hwndDlg [in] - the dialog that contains the check box
//
// Notes;
//
// History;
// Dec-05-1994 MikeMi Created
//
//-------------------------------------------------------------------
void OnCommonAgree( HWND hwndDlg ) { HWND hwndOK = GetDlgItem( hwndDlg, IDOK ); BOOL fChecked = !IsDlgButtonChecked( hwndDlg, IDC_AGREE ); CheckDlgButton( hwndDlg, IDC_AGREE, fChecked ); EnableWindow( hwndOK, fChecked ); }
//-------------------------------------------------------------------
//
// Function: dlgprocCommon
//
// Summary;
// The dialog procedure for the Common legal Dialogs
//
// Arguments;
// hwndDlg [in] - handle of Dialog window
// uMsg [in] - message
// lParam1 [in] - first message parameter
// lParam2 [in] - second message parameter
//
// Return;
// message dependant
//
// Notes;
//
// History;
// Dec-05-1994 MikeMi Created
// Mar-14-95 MikeMi Added F1 PWM_HELP message
//
//-------------------------------------------------------------------
INT_PTR CALLBACK dlgprocCommon( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) { BOOL frt = FALSE; static PCOMMONDLGPARAM pcdParams;
switch (uMsg) { case WM_INITDIALOG: pcdParams = (PCOMMONDLGPARAM)lParam; OnCommonInitDialog( hwndDlg, pcdParams ); frt = TRUE; // we use the default focus
break;
case WM_COMMAND: switch (HIWORD( wParam )) { case BN_CLICKED: switch (LOWORD( wParam )) { case IDOK: frt = TRUE; // use as save flag
// intentional no break
case IDCANCEL: EndDialog( hwndDlg, frt ); frt = FALSE; break;
case IDC_BUTTONHELP: PostMessage( hwndDlg, PWM_HELP, 0, 0 ); break;
case IDC_AGREE: OnCommonAgree( hwndDlg ); break;
default: break; } break;
default: break; } break;
default: if (PWM_HELP == uMsg) { ::HtmlHelp( hwndDlg, LICCPA_HTMLHELPFILE, HH_DISPLAY_TOPIC,0); } break; } return( frt ); }
//-------------------------------------------------------------------
//
// Function: LicviolationDialog
//
// Summary;
// Init and Raise the license Violation dialog
//
// Arguments;
// hwndParent [in] - handle of parent window
//
// Return;
// 1 - use OK operation, NO was pressed to exit
// 0 - use Cancel operation, YES was pressed to exit
// -1 - General Dialog error
//
// Notes;
//
// History;
// Dec-05-1994 MikeMi Created
//
//-------------------------------------------------------------------
int LicViolationDialog( HWND hwndParent ) { return( (int)DialogBox(g_hinst, MAKEINTRESOURCE(IDD_LICVIOLATIONDLG), hwndParent, dlgprocLicViolation ) ); }
//-------------------------------------------------------------------
//
// Function: SetupPerOnlyDialog
//
// Summary;
// Init and Raise the setup for per seat only dialog
//
// Arguments;
// hwndParent [in] - handle of parent window
// pszDisplayName [in] - the service displayname
// pszHelpFile [in] - the helpfile for the help button
// dwHelpContext [in] - the help context for the help button
//
// Return;
// 1 - OK button was used to exit
// 0 - Cancel button was used to exit
// -1 - General Dialog error
//
// Notes;
//
// History;
// Dec-05-1994 MikeMi Created
//
//-------------------------------------------------------------------
int SetupPerOnlyDialog( HWND hwndParent, LPCWSTR pszDisplayName, LPCWSTR pszHelpFile, DWORD dwHelpContext ) { COMMONDLGPARAM dlgParam;
dlgParam.pszDisplayName = (LPWSTR)pszDisplayName; dlgParam.pszHelpFile = (LPWSTR)pszHelpFile; dlgParam.dwHelpContext = dwHelpContext; dlgParam.dtType = DLGTYPE_PERSEATSETUP; return( (int)DialogBoxParam(g_hinst, MAKEINTRESOURCE(IDD_SETUP2DLG), hwndParent, dlgprocCommon, (LPARAM)&dlgParam) ); }
//-------------------------------------------------------------------
//
// Function: PerServerAgreementDialog
//
// Summary;
// Init and Raise the per server legal dialog
//
// Arguments;
// hwndParent [in] - handle of parent window
// pszDisplayName [in] - the service displayname
// dwLimit [in] - the number of concurrent connections
// pszHelpFile [in] - the helpfile for the help button
// dwHelpContext [in] - the help context for the help button
//
// Return;
// 1 - OK button was used to exit
// 0 - Cancel button was used to exit
// -1 - General Dialog error
//
// Notes;
//
// History;
// Dec-05-1994 MikeMi Created
//
//-------------------------------------------------------------------
int PerServerAgreementDialog( HWND hwndParent, LPCWSTR pszDisplayName, DWORD dwLimit, LPCWSTR pszHelpFile, DWORD dwHelpContext ) { COMMONDLGPARAM dlgParam;
dlgParam.pszDisplayName = (LPWSTR)pszDisplayName; dlgParam.dwLimit = dwLimit; dlgParam.pszHelpFile = (LPWSTR)pszHelpFile; dlgParam.dwHelpContext = dwHelpContext; dlgParam.dtType = DLGTYPE_AGREEMENT_PERSERVER;
return( (int)DialogBoxParam(g_hinst, MAKEINTRESOURCE(IDD_PERSERVERDLG), hwndParent, dlgprocCommon, (LPARAM)&dlgParam ) ); }
//-------------------------------------------------------------------
//
// Function: PerSeatAgreementDialog
//
// Summary;
// Init and Raise the per seat legal dialog
//
// Arguments;
// hwndParent [in] - handle of parent window
// pszDisplayName [in] - the service displayname
// pszHelpFile [in] - the helpfile for the help button
// dwHelpContext [in] - the help context for the help button
//
// Return;
// 1 - OK button was used to exit
// 0 - Cancel button was used to exit
// -1 - General Dialog error
//
// Notes;
//
// History;
// Dec-05-1994 MikeMi Created
//
//-------------------------------------------------------------------
int PerSeatAgreementDialog( HWND hwndParent, LPCWSTR pszDisplayName, LPCWSTR pszHelpFile, DWORD dwHelpContext ) { COMMONDLGPARAM dlgParam; dlgParam.pszDisplayName = (LPWSTR)pszDisplayName; dlgParam.pszHelpFile = (LPWSTR)pszHelpFile; dlgParam.dwHelpContext = dwHelpContext; dlgParam.dtType = DLGTYPE_AGREEMENT_PERSEAT;
return( (int)DialogBoxParam(g_hinst, MAKEINTRESOURCE(IDD_PERSEATDLG), hwndParent, dlgprocCommon, (LPARAM)&dlgParam ) ); }
//-------------------------------------------------------------------
//
// Function: ServerAppAgreementDialog
//
// Summary;
// Init and Raise the Server and App legal dialog
//
// Arguments;
// hwndParent [in] - handle of parent window
// pszHelpFile [in] - the helpfile for the help button
// dwHelpContext [in] - the help context for the help button
//
// Return;
// 1 - OK button was used to exit
// 0 - Cancel button was used to exit
// -1 - General Dialog error
//
// Notes;
//
// History;
// Dec-05-1994 MikeMi Created
//
//-------------------------------------------------------------------
int ServerAppAgreementDialog( HWND hwndParent, LPCWSTR pszHelpFile, DWORD dwHelpContext ) { COMMONDLGPARAM dlgParam;
dlgParam.pszDisplayName = NULL; dlgParam.pszHelpFile = (LPWSTR)pszHelpFile; dlgParam.dwHelpContext = dwHelpContext; dlgParam.dtType = DLGTYPE_SERVERAPP;
return( (int)DialogBoxParam(g_hinst, MAKEINTRESOURCE(IDD_SERVERAPPDLG), hwndParent, dlgprocCommon, (LPARAM)&dlgParam ) ); }
|