You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
510 lines
12 KiB
510 lines
12 KiB
//-------------------------------------------------------------------
|
|
//
|
|
// 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 ) );
|
|
}
|