mirror of https://github.com/tongzx/nt5src
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.
82 lines
2.2 KiB
82 lines
2.2 KiB
// C$$ClassType$$PS.cpp : Implementation of C$$ClassType$$PS
|
|
#include "stdafx.h"
|
|
#include "$$root$$.h"
|
|
#include "$$ClassType$$PS.h"
|
|
|
|
BOOL CALLBACK C$$ClassType$$PS_DlgProc(HWND hwnd, UINT uMsg,
|
|
WPARAM wParam, LPARAM lParam)
|
|
{
|
|
BOOL bRet = FALSE;
|
|
static C$$ClassType$$PS* ppse = NULL;
|
|
|
|
switch(uMsg)
|
|
{
|
|
case WM_INITDIALOG:
|
|
ppse = (CPS*)lParam;
|
|
bRet = TRUE;
|
|
break;
|
|
|
|
case WM_NOTIFY:
|
|
switch(((NMHDR*)lParam)->code)
|
|
{
|
|
case PSN_APPLY:
|
|
// TODO: Add code to apply changes in the dialog
|
|
SetWindowLong(hwnd, DWL_MSGRESULT, TRUE);
|
|
bRet = TRUE;
|
|
break;
|
|
case PSN_KILLACTIVE:
|
|
// page is being deactivated either by another page being
|
|
// activated, or user chose OK.
|
|
SetWindowLong(hwnd, DWL_MSGRESULT, FALSE);
|
|
bRet = TRUE;
|
|
break;
|
|
case PSN_RESET:
|
|
// TODO: Add any cleanup code
|
|
SetWindowLong(hwnd, DWL_MSGRESULT, FALSE);
|
|
bRet = TRUE;
|
|
break;
|
|
}
|
|
}
|
|
|
|
return bRet;
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// C$$ClassType$$PS
|
|
|
|
STDMETHODIMP C$$ClassType$$PS::Initialize (LPCITEMIDLIST pidlFolder, LPDATAOBJECT lpdobj,
|
|
HKEY hkeyProgID)
|
|
{
|
|
|
|
return NOERROR;
|
|
}
|
|
|
|
STDMETHODIMP C$$ClassType$$PS::AddPages(LPFNADDPROPSHEETPAGE lpfnAddPage,
|
|
LPARAM lParam)
|
|
{
|
|
PROPSHEETPAGE psp;
|
|
HPROPSHEETPAGE hpage;
|
|
|
|
psp.dwSize = sizeof(psp); // no extra data
|
|
psp.dwFlags = PSP_USEREFPARENT;
|
|
psp.hInstance = _Module.GetModuleInstance();
|
|
psp.pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE);
|
|
psp.pfnDlgProc = C$$ClassType$$PS_DlgProc;
|
|
psp.pcRefParent = (UINT*)&_Module.m_nLockCnt;
|
|
psp.lParam = (LPARAM)this;
|
|
hpage = CreatePropertySheetPage(&psp);
|
|
if (hpage)
|
|
{
|
|
if (!lpfnAddPage(hpage, lParam))
|
|
DestroyPropertySheetPage(hpage);
|
|
}
|
|
return NOERROR;
|
|
}
|
|
|
|
STDMETHODIMP C$$ClassType$$PS::ReplacePage(UINT uPageID,
|
|
LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam)
|
|
{
|
|
// TODO: Implement this method if you want to replace a
|
|
// Property page in a control panel
|
|
return S_FALSE;
|
|
}
|