|
|
/*****************************************************************************
* * (C) COPYRIGHT MICROSOFT CORPORATION, 2000 * * TITLE: start.cpp * * VERSION: 1.0 * * AUTHOR: RickTu * * DATE: 11/7/00 * * DESCRIPTION: Implements code for the start page of the * print photos wizard... * *****************************************************************************/
#include <precomp.h>
#pragma hdrstop
/*****************************************************************************
CStartPage -- constructor/desctructor
<Notes>
*****************************************************************************/
CStartPage::CStartPage( CWizardInfoBlob * pBlob ) : _hDlg(NULL), _pWizInfo(pBlob) { WIA_PUSH_FUNCTION_MASK((TRACE_PAGE_START, TEXT("CStartPage::CStartPage()"))); if (_pWizInfo) { _pWizInfo->AddRef(); } }
CStartPage::~CStartPage() { WIA_PUSH_FUNCTION_MASK((TRACE_PAGE_START, TEXT("CStartPage::~CStartPage()")));
if (_pWizInfo) { _pWizInfo->Release(); _pWizInfo = NULL; } }
/*****************************************************************************
CStartPage::OnInitDialog
Handle initializing the wizard page...
*****************************************************************************/
LRESULT CStartPage::_OnInitDialog() { WIA_PUSH_FUNCTION_MASK((TRACE_PAGE_START, TEXT("CStartPage::_OnInitDialog()")));
if (!_pWizInfo) { WIA_ERROR((TEXT("FATAL: _pWizInfo is NULL, exiting early"))); return FALSE; }
//
// Set font...
//
SendDlgItemMessage(_hDlg, IDC_WELCOME, WM_SETFONT, (WPARAM)_pWizInfo->GetIntroFont(_hDlg), 0);
//
// Set wizard icons...
//
SendMessage( GetParent(_hDlg), WM_SETICON, ICON_SMALL, (LPARAM)_pWizInfo->GetSmallIcon() ); SendMessage( GetParent(_hDlg), WM_SETICON, ICON_BIG, (LPARAM)_pWizInfo->GetLargeIcon() );
return TRUE; }
/*****************************************************************************
CStartPage::DoHandleMessage
Hanlder for messages sent to this page...
*****************************************************************************/
INT_PTR CStartPage::DoHandleMessage( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) { WIA_PUSH_FUNCTION_MASK((TRACE_DLGPROC, TEXT("CStartPage::DoHandleMessage( uMsg = 0x%x, wParam = 0x%x, lParam = 0x%x )"),uMsg,wParam,lParam));
switch ( uMsg ) { case WM_INITDIALOG: _hDlg = hDlg; return _OnInitDialog();
case WM_NOTIFY: { LPNMHDR pnmh = (LPNMHDR)lParam; LONG_PTR lpRes = 0; if (pnmh) { switch (pnmh->code) {
case PSN_SETACTIVE: WIA_TRACE((TEXT("CStartPage: got PSN_SETACTIVE")));
//
// Add all the objects to the list...
//
PropSheet_SetWizButtons( GetParent(_hDlg), PSWIZB_NEXT ); PostMessage( _hDlg, STARTPAGE_MSG_LOAD_ITEMS, 0, 0 ); lpRes = 0; break;
case PSN_WIZNEXT: WIA_TRACE((TEXT("CStartPage: got PSN_WIZNEXT"))); if (_pWizInfo && (_pWizInfo->AllPicturesAdded()) && (_pWizInfo->CountOfPhotos(FALSE) == 1)) { lpRes = IDD_PRINTING_OPTIONS; } else { lpRes = IDD_PICTURE_SELECTION; } break;
case PSN_WIZBACK: WIA_TRACE((TEXT("CStartPage: got PSN_WIZBACK"))); lpRes = -1; break;
case PSN_QUERYCANCEL: WIA_TRACE((TEXT("CStartPage: got PSN_QUERYCANCEL"))); if (_pWizInfo) { lpRes = _pWizInfo->UserPressedCancel(); } break;
} }
SetWindowLongPtr( hDlg, DWLP_MSGRESULT, lpRes ); return TRUE; }
case STARTPAGE_MSG_LOAD_ITEMS: if (_pWizInfo) { _pWizInfo->AddAllPhotosFromDataObject(); } break;
}
return FALSE;
}
|