windows-nt/Source/XPSP1/NT/shell/osshell/snapins/devmgr/snapin/proppage.h
2020-09-26 16:20:57 +08:00

146 lines
3 KiB
C++

#ifndef _PROPPAGE_H_
#define _PROPPAGE_H_
/*++
Copyright (C) 1997-1999 Microsoft Corporation
Module Name:
proppage.h
Abstract:
header file for proppage.cpp
Author:
William Hsieh (williamh) created
Revision History:
--*/
class CPropSheetPage
{
public:
CPropSheetPage(HINSTANCE hInst, UINT idTemplate);
virtual ~CPropSheetPage()
{}
static INT_PTR CALLBACK PageDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
static UINT CALLBACK PageCallback(HWND hDlg, UINT uMsg, LPPROPSHEETPAGE ppsp);
protected:
HWND GetControl(int ControlId)
{
ASSERT(m_hDlg);
return GetDlgItem(m_hDlg, ControlId);
}
virtual BOOL OnInitDialog(LPPROPSHEETPAGE ppsp)
{
return TRUE;
}
virtual void UpdateControls(LPARAM lParam = 0)
{
}
virtual BOOL OnApply()
{
ASSERT(m_hDlg);
SetWindowLongPtr(m_hDlg, DWLP_MSGRESULT, 0L);
return FALSE;
}
virtual BOOL OnLastChanceApply()
{
ASSERT(m_hDlg);
return FALSE;
}
virtual BOOL OnWizFinish()
{
ASSERT(m_hDlg);
SetWindowLongPtr(m_hDlg, DWLP_MSGRESULT, 0L);
return FALSE;
}
virtual BOOL OnWizNext()
{
ASSERT(m_hDlg);
SetWindowLongPtr(m_hDlg, DWLP_MSGRESULT, -1L);
return FALSE;
}
virtual BOOL OnWizBack()
{
ASSERT(m_hDlg);
SetWindowLongPtr(m_hDlg, DWLP_MSGRESULT, -1L);
return FALSE;
}
virtual BOOL OnSetActive()
{
ASSERT(m_hDlg);
m_Active = TRUE;
if (m_AlwaysUpdateOnActive || m_UpdateControlsPending)
{
UpdateControls();
m_UpdateControlsPending = FALSE;
}
SetWindowLongPtr(m_hDlg, DWLP_MSGRESULT, 0L);
return FALSE;
}
virtual BOOL OnKillActive()
{
ASSERT(m_hDlg);
m_Active = FALSE;
SetWindowLongPtr(m_hDlg, DWLP_MSGRESULT, 0L);
return FALSE;
}
virtual BOOL OnReset()
{
ASSERT(m_hDlg);
SetWindowLongPtr(m_hDlg, DWLP_MSGRESULT, 0L);
return FALSE;
}
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam)
{
return FALSE;
}
virtual BOOL OnQuerySiblings(WPARAM wParam, LPARAM lParam);
virtual BOOL OnNotify(LPNMHDR pnmhdr)
{
ASSERT(m_hDlg);
SetWindowLongPtr(m_hDlg, DWLP_MSGRESULT, 0L);
return FALSE;
}
virtual BOOL OnDestroy();
virtual BOOL OnHelp(LPHELPINFO pHelpInfo)
{
return FALSE;
}
virtual BOOL OnContextMenu(HWND hWnd, WORD xPos, WORD yPos)
{
return FALSE;
}
virtual UINT CreateCallback()
{
return TRUE;
}
virtual UINT DestroyCallback();
HPROPSHEETPAGE CreatePage()
{
return ::CreatePropertySheetPage(&m_psp);
}
HWND m_hDlg;
PROPSHEETPAGE m_psp;
BOOL m_Active;
BOOL m_AlwaysUpdateOnActive;
BOOL m_UpdateControlsPending;
int m_IDCicon;
};
#endif