clwarn.c
来自「PGP8.0源码 请认真阅读您的文件包然后写出其具体功能」· C语言 代码 · 共 176 行
C
176 行
/*____________________________________________________________________________
Copyright (C) 2002 PGP Corporation
All rights reserved.
$Id: CLwarn.c,v 1.5 2002/08/06 20:09:20 dallen Exp $
____________________________________________________________________________*/
#include "pgpPFLConfig.h"
#include <windowsx.h>
// project header files
#include "PGPclx.h"
// external globals
extern HINSTANCE g_hInst;
typedef struct
{
int WarnHelpID;
PGPBoolean *pWarnCheck;
char *szWarnMessage;
char *szWarnCaption;
} WARNGBL, *PWARNGBL;
#define IDH_RSADSARECWARNING 3009
/*
* WarnProc.c Main message loop for the warning dialog
*
* This message loop handles all the operations of the warning
* dialog. Its a bit trickey, since it includes some routines to tack
* on our "global" variables to the USERDATA portion of the window
* (for reentrancy)
*
*/
PWARNGBL AllocWarnGbl(void)
{
PWARNGBL pWarnGbl;
pWarnGbl=(PWARNGBL)malloc(sizeof(WARNGBL));
memset (pWarnGbl,0x00,sizeof(WARNGBL));
return pWarnGbl;
}
BOOL WINAPI WarningDlgProc(HWND hdlg, UINT uMsg,
WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
case WM_INITDIALOG:
{
PWARNGBL pwg;
SetWindowLong(hdlg,GWL_USERDATA,lParam);
pwg=(PWARNGBL)lParam;
SetWindowText(GetDlgItem(hdlg,IDC_WARNINGTEXT),
pwg->szWarnMessage);
SetWindowText(hdlg,pwg->szWarnCaption);
Button_SetCheck(GetDlgItem(hdlg,IDC_WARNCHECK),
*(pwg->pWarnCheck));
return TRUE;
}
case WM_DESTROY:
{
PWARNGBL pwg;
pwg=(PWARNGBL)GetWindowLong(hdlg,GWL_USERDATA);
free(pwg);
EndDialog(hdlg, FALSE);
break;
}
case WM_COMMAND:
{
switch(wParam)
{
case IDC_WARNCHECK:
{
PWARNGBL pwg;
pwg=(PWARNGBL)GetWindowLong(hdlg,GWL_USERDATA);
*(pwg->pWarnCheck)=!*(pwg->pWarnCheck);
Button_SetCheck(GetDlgItem(hdlg,IDC_WARNCHECK),
*(pwg->pWarnCheck));
break;
}
case IDOK:
{
EndDialog(hdlg, TRUE);
break;
}
case IDCANCEL:
{
EndDialog(hdlg, FALSE);
break;
}
case IDHELP:
{
PWARNGBL pwg;
pwg=(PWARNGBL)GetWindowLong(hdlg,GWL_USERDATA);
PGPclHtmlHelp (hdlg, kPGPclHelpContext, 0, 0,
(char*)kPGPclHelpFile, (DWORD*)(pwg->WarnHelpID));
break;
}
}
return TRUE;
}
}
return FALSE;
}
// __________________________________________________________
//
// Post warning about encrypting to RSA and signing w/DSA key
PGPError PGPclExport
PGPclRSADSAMixWarning (HWND hWnd, PGPBoolean *pbNeverShowAgain)
{
int ReturnValue;
PWARNGBL pWarnGbl;
CHAR szCaption [128];
CHAR szMessage [256];
LoadString (g_hInst, IDS_CAPTIONWARNING, szCaption, sizeof(szCaption));
LoadString (g_hInst, IDS_RSADSAMIXWARNING, szMessage, sizeof(szMessage));
pWarnGbl=AllocWarnGbl();
pWarnGbl->WarnHelpID=IDH_RSADSARECWARNING;
pWarnGbl->pWarnCheck=pbNeverShowAgain;
pWarnGbl->szWarnMessage=szMessage;
pWarnGbl->szWarnCaption=szCaption;
ReturnValue=DialogBoxParam(g_hInst,
MAKEINTRESOURCE( IDD_WARNINGDLG ),
hWnd,
(DLGPROC) WarningDlgProc,
(LPARAM) pWarnGbl);
if(ReturnValue)
return kPGPError_NoErr;
return kPGPError_UserAbort;
}
/*__Editor_settings____
Local Variables:
tab-width: 4
End:
vi: ts=4 sw=4
vim: si
_____________________*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?