⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commonproc.c

📁 PGP8.0源码 请认真阅读您的文件包然后写出其具体功能
💻 C
字号:
/*____________________________________________________________________________
	Copyright (C) 2002 PGP Corporation
	All rights reserved.

	$Id: CommonProc.c,v 1.3 2002/08/06 20:09:15 dallen Exp $
____________________________________________________________________________*/

#include <windows.h>
#include "PGPadmin.h"
#include "resource.h"

#include "pgpClientLib.h"
#include "pgpClientPrefs.h"
#include "pgpNetPrefs.h"
#include "pgpFileSpec.h"

BOOL CALLBACK CommonDlgProc(HWND hwndDlg, 
							UINT uMsg, 
							WPARAM wParam, 
							LPARAM lParam)
{
	BOOL			bReturnCode = FALSE;
	pgpConfigInfo *	pConfig		= NULL;
	LPPSHNOTIFY		pNotify		= NULL;

	g_hCurrentDlgWnd = hwndDlg;
	pConfig = (pgpConfigInfo *) GetWindowLong(hwndDlg, GWL_USERDATA);

	switch(uMsg)
	{
	case WM_INITDIALOG:
		{
			PROPSHEETPAGE *ppspConfig = (PROPSHEETPAGE *) lParam;
			char szTitle[255];

			LoadString(g_hInstance, IDS_ADMINTITLE, szTitle, 254);
			PropSheet_SetTitle(GetParent(hwndDlg), 0, szTitle);

			pConfig = (pgpConfigInfo *) ppspConfig->lParam;
			SetWindowLong(hwndDlg, GWL_USERDATA, (LPARAM) pConfig);
			pConfig->nPageCount++;

			// center dialog on screen
			if (pConfig->bCenter)
			{
				PGPclCenterWindowOnMonitor(GetParent(hwndDlg), 
					kPGPclPrimaryMonitor);
				pConfig->bCenter = FALSE;
			}
			break;
		}

	case WM_NOTIFY:
		{
			LPNMHDR pnmh;

			pnmh = (LPNMHDR) lParam;
			switch(pnmh->code)
			{
			case PSN_QUERYCANCEL:
				pConfig->bCancel = TRUE;
				bReturnCode = TRUE;
				break;

			case PSN_APPLY:
				pNotify = (LPPSHNOTIFY) lParam;
				pConfig->nApplyCount++;
				if (pConfig->nApplyCount == pConfig->nPageCount)
				{
					PGPPrefRef		prefRef = NULL;
					PGPPrefRef		prefRefNet = NULL;

					pConfig->nApplyCount = 0;
					SaveAdminOptions(pConfig);
					bReturnCode = TRUE;
					SetWindowLong(hwndDlg, DWL_MSGRESULT, PSNRET_NOERROR);

					if (pNotify->lParam)
					{
						pConfig->nPageCount = 0;
						break;
					}

					PGPclPeekClientLibPrefRefs(&prefRef, &prefRefNet);
					PGPAddPrefs(pConfig->prefRef, prefRef);
					if (prefRefNet != NULL)
						PGPAddPrefs(pConfig->prefRefNet, prefRefNet);
					PGPclFlushClientLibPrefs(prefRef, prefRefNet);

					pConfig->bSave = FALSE;
					pConfig->bApplied = TRUE;

				}
				break;
			}
			
			break;
		}
	}

	return(bReturnCode);
}

/*__Editor_settings____

	Local Variables:
	tab-width: 4
	End:
	vi: ts=4 sw=4
	vim: si
_____________________*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -