finisht.cpp
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 4k
Category:

Windows Kernel

Development Platform:

Visual C++

  1. #include "shwizard.h"
  2. #include <shlwapi.h>
  3. void CCTFWiz_FinishCustomization::OnInit()
  4. {
  5.     HFONT hTitleFont = _pCommonInfo->GetTitleFont();
  6.     //ASSERT(hTitleFont);
  7.     // It's an intro page, so set the title font
  8.     SetWindowFont(GetDlgItem(_hwndDlg, IDC_TITLE_WELCOME), hTitleFont, TRUE);
  9. }
  10. void CCTFWiz_FinishCustomization::OnSetActive()
  11. {
  12.     // First, the the common OnSetActive().
  13.     _pCommonInfo->OnSetActive(_hwndDlg);
  14.     // Set the appropriate text message in the dialog
  15.     TCHAR szFinalDisplay[MAX_PATH*2], szTemp[MAX_PATH];
  16.     szFinalDisplay[0] = TEXT('');
  17.     if (_pCommonInfo->WasThisOptionalPathUsed(IDD_PAGEA3))
  18.     {
  19.         LoadString(g_hAppInst, IDS_COMPLETE_TEMPLATE, szTemp, ARRAYSIZE(szTemp));
  20.         StrCatBuff(szFinalDisplay, szTemp, ARRAYSIZE(szFinalDisplay));
  21.         StrCatBuff(szFinalDisplay, TEXT("n"), ARRAYSIZE(szFinalDisplay));
  22.     }
  23.     if (_pCommonInfo->WasThisOptionalPathUsed(IDD_PAGET1))
  24.     {
  25.         LoadString(g_hAppInst, IDS_COMPLETE_BACKGROUND, szTemp, ARRAYSIZE(szTemp));
  26.         StrCatBuff(szFinalDisplay, szTemp, ARRAYSIZE(szFinalDisplay));
  27.         StrCatBuff(szFinalDisplay, TEXT("n"), ARRAYSIZE(szFinalDisplay));
  28.     }
  29.     if (_pCommonInfo->WasThisOptionalPathUsed(IDD_COMMENT))
  30.     {
  31.         LoadString(g_hAppInst, IDS_COMPLETE_COMMENT, szTemp, ARRAYSIZE(szTemp));
  32.         StrCatBuff(szFinalDisplay, szTemp, ARRAYSIZE(szFinalDisplay));
  33.         StrCatBuff(szFinalDisplay, TEXT("n"), ARRAYSIZE(szFinalDisplay));
  34.     }
  35.     // Display the string
  36.     SetWindowText(GetDlgItem(_hwndDlg, IDC_FINISHT), szFinalDisplay);
  37. }
  38. INT_PTR APIENTRY CCTFWiz_FinishCustomization::WndProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
  39. {
  40.     BOOL bRet = TRUE;
  41.     CCTFWiz_FinishCustomization* pFinishCustomization = NULL;
  42.     pFinishCustomization = (CCTFWiz_FinishCustomization*)GetWindowPtr(hwndDlg, GWLP_USERDATA);
  43.     //ASSERT(pFinishCustomization);
  44.     //ASSERT(pFinishCustomization->_hwndDlg == hwndDlg);
  45.     switch (msg)
  46.     {
  47.     case WM_INITDIALOG:
  48.     {
  49.         CCTF_CommonInfo* pCommonInfo = (CCTF_CommonInfo*)((LPPROPSHEETPAGE)lParam)->lParam;
  50.         //ASSERT(pCommonInfo);
  51.         pFinishCustomization = new CCTFWiz_FinishCustomization(hwndDlg, pCommonInfo);
  52.         if (pFinishCustomization)
  53.         {
  54.             SetWindowPtr(hwndDlg, GWLP_USERDATA, pFinishCustomization);
  55.             pFinishCustomization->OnInit();
  56.         }
  57.         else
  58.         {
  59.             bRet = FALSE ;
  60.         }
  61.         break;
  62.     }
  63.     case WM_DESTROY:
  64.     {
  65.         SetWindowPtr(hwndDlg, GWLP_USERDATA, NULL);
  66.         delete pFinishCustomization;
  67.         break;
  68.     }
  69.     
  70.     case WM_NOTIFY:
  71.     {
  72.         switch (((NMHDR FAR *)lParam)->code)
  73.         {
  74.         case PSN_QUERYCANCEL:
  75.             bRet = FALSE;
  76.         case PSN_KILLACTIVE:
  77.         case PSN_RESET:
  78.             pFinishCustomization->_pCommonInfo->OnCancel(hwndDlg);
  79.             bRet = FALSE;   // must do this to allow cancel to complete
  80.             break;
  81.         case PSN_SETACTIVE:
  82.             pFinishCustomization->OnSetActive();
  83.             break;
  84.         case PSN_WIZBACK:
  85.             pFinishCustomization->_pCommonInfo->OnBack(hwndDlg);
  86.             break;
  87.         case PSN_WIZFINISH:
  88.             pFinishCustomization->_pCommonInfo->OnFinishCustomization(hwndDlg);
  89.             break;
  90.         default:
  91.             bRet = FALSE ;
  92.             break;
  93.         }
  94.         break;
  95.     }
  96.     default:
  97.         bRet = FALSE ;
  98.         break;
  99.     }
  100.     return bRet;   
  101. }