Leaked source code of windows server 2003
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.
|
|
/*++
� 1998 Seagate Software, Inc. All rights reserved.
Module Name:
SchedSht.cpp
Abstract:
CScheduleSheet - Class that allows a schedule to be edited in a property sheet of its own.
Author:
Rohde Wakefield [rohde] 12-Aug-1997
Revision History:
--*/
#include "stdafx.h"
#include "SchedSht.h"
/////////////////////////////////////////////////////////////////////////////
// CScheduleSheet
CScheduleSheet::CScheduleSheet(UINT nIDCaption, ITask * pTask, CWnd* pParentWnd, DWORD /*dwFlags*/) :CPropertySheet(nIDCaption, pParentWnd, 0) { HRESULT hr = S_OK;
try {
//
// Save the scheduled task pointer
//
WsbAffirmPointer( pTask ); m_pTask = pTask;
//
// Get the property page structures
//
CComPtr<IProvideTaskPage> pProvideTaskPage; WsbAffirmHr( pTask->QueryInterface( IID_IProvideTaskPage, (void**)&pProvideTaskPage ) ); WsbAffirmHr( pProvideTaskPage->GetPage( TASKPAGE_SCHEDULE, FALSE, &m_hSchedulePage ) ); // WsbAffirmHr( pProvideTaskPage->GetPage( TASKPAGE_SETTINGS, FALSE, &m_hSettingsPage ) );
} WsbCatch( hr );
}
CScheduleSheet::~CScheduleSheet() { //
// Set the pointer to the PROPSHEETHEADER array to
// null since MFC will try to free it when we are
// destroyed.
//
m_psh.ppsp = 0; }
BEGIN_MESSAGE_MAP(CScheduleSheet, CPropertySheet) //{{AFX_MSG_MAP(CScheduleSheet)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CScheduleSheet::BuildPropPageArray ( void ) { CPropertySheet::BuildPropPageArray( );
//
// We put in a dummy set of pages to keep MFC happy.
// Here we will substitute our own array of HPROPSHEETPAGE's
// instead, since this is all Task Scheduler gives us.
//
m_psh.dwFlags &= ~PSH_PROPSHEETPAGE; m_psh.dwFlags |= PSH_NOAPPLYNOW; m_psh.phpage = &m_hSchedulePage; m_psh.nPages = 1; }
BOOL CScheduleSheet::OnInitDialog() { BOOL bResult = CPropertySheet::OnInitDialog(); LONG style = ::GetWindowLong( m_hWnd, GWL_EXSTYLE ); style |= WS_EX_CONTEXTHELP; ::SetWindowLong( m_hWnd, GWL_EXSTYLE, style ); return bResult; }
#ifdef _DEBUG
void CScheduleSheet::AssertValid() const { //
// Need to override so that CPropSheet is happy
// Note that this code duplicates what is in
// CPropertySheet::AssertValid except the assertion
// the dwFlags has the PSH_PROPSHEETPAGE bit set
// We assert that it is not set
//
CWnd::AssertValid(); m_pages.AssertValid(); ASSERT(m_psh.dwSize == sizeof(PROPSHEETHEADER)); //ASSERT((m_psh.dwFlags & PSH_PROPSHEETPAGE) == PSH_PROPSHEETPAGE);
}
#endif
|