|
|
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1996 Microsoft Corporation
//
// Module Name:
// About.cpp
//
// Abstract:
// Implementation of the CAboutDlg class.
//
// Author:
// David Potter (davidp) October 11, 1996
//
// Revision History:
//
// Notes:
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "CluAdmin.h"
#include "About.h"
#include "VerInfo.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// Message Maps
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CAboutDlg::CAboutDlg
//
// Routine Description:
// Default constructor.
//
// Arguments:
// None.
//
// Return Value:
// None.
//
//--
/////////////////////////////////////////////////////////////////////////////
CAboutDlg::CAboutDlg(void) : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg)
m_strWarning = _T(""); m_strProductTitle = _T(""); m_strFileTitle = _T(""); m_strVersion = _T(""); m_strCopyright = _T(""); //}}AFX_DATA_INIT
} //*** CAboutDlg::CAboutDlg()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CAboutDlg::DoDataExchange
//
// Routine Description:
// Do data exchange between the dialog and the class.
//
// Arguments:
// pDX [IN OUT] Data exchange object
//
// Return Value:
// None.
//
//--
/////////////////////////////////////////////////////////////////////////////
void CAboutDlg::DoDataExchange(CDataExchange * pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg)
DDX_Control(pDX, IDC_ABOUT_ICON, m_staticIcon); DDX_Control(pDX, IDC_ABOUT_VERSION, m_staticVersion); DDX_Control(pDX, IDC_ABOUT_FILE_TITLE, m_staticFileTitle); DDX_Control(pDX, IDC_ABOUT_PRODUCT_TITLE, m_staticProductTitle); DDX_Control(pDX, IDC_ABOUT_WARNING, m_staticWarning); DDX_Control(pDX, IDC_ABOUT_COPYRIGHT, m_staticCopyright); DDX_Text(pDX, IDC_ABOUT_WARNING, m_strWarning); DDX_Text(pDX, IDC_ABOUT_PRODUCT_TITLE, m_strProductTitle); DDX_Text(pDX, IDC_ABOUT_FILE_TITLE, m_strFileTitle); DDX_Text(pDX, IDC_ABOUT_VERSION, m_strVersion); DDX_Text(pDX, IDC_ABOUT_COPYRIGHT, m_strCopyright); //}}AFX_DATA_MAP
} //*** CAboutDlg::DoDataExchange()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CAboutDlg::OnInitDialog
//
// Routine Description:
// Handler for the WM_INITDIALOG message.
//
// Arguments:
// None.
//
// Return Value:
// TRUE Focus not set yet.
// FALSE Focus already set.
//
//--
/////////////////////////////////////////////////////////////////////////////
BOOL CAboutDlg::OnInitDialog(void) { // Get the version info.
try { CVersionInfo verinfo;
// Get the warning text.
m_strWarning.LoadString(IDS_ABOUT_WARNING);
// Initialize the version info.
verinfo.Init();
// Get strings from the version resource.
m_strProductTitle = verinfo.PszQueryValue(_T("ProductName")); m_strFileTitle = verinfo.PszQueryValue(_T("FileDescription")); m_strCopyright = verinfo.PszQueryValue(_T("LegalCopyright"));
// Get the version display string.
verinfo.QueryFileVersionDisplayString(m_strVersion); } // try
catch (...) { // Who cares if an exception is thrown. We're just displaying the about box.
} // catch: anything
// Call the base class method.
CDialog::OnInitDialog();
// Create fonts.
// BCreateFont(m_fontProductTitle, 16, TRUE /*bBold*/);
// BCreateFont(m_fontCopyright, 14, TRUE /*bBold*/);
// BCreateFont(m_fontWarning, 4, FALSE /*bBold*/);
// m_staticProductTitle.SetFont(&m_fontProductTitle, FALSE /*bRedraw*/);
// m_staticFileTitle.SetFont(&m_fontProductTitle, FALSE /*bRedraw*/);
// m_staticVersion.SetFont(&m_fontProductTitle, FALSE /*bRedraw*/);
// m_staticCopyright.SetFont(&m_fontCopyright, FALSE /*bRedraw*/);
// m_staticWarning.SetFont(&m_fontWarning, FALSE /*bRedraw*/);
// Set the icon to the big cluster picture.
{ HICON hicon;
// Create huge image list.
VERIFY(m_ilImages.Create( (int) 64, // cx
64, // cy
TRUE, // bMask
1, // nInitial
4 // nGrow
)); m_ilImages.SetBkColor(::GetSysColor(COLOR_WINDOW));
// Load the images into the large image list.
CClusterAdminApp::LoadImageIntoList(&m_ilImages, IDB_CLUSTER_64);
hicon = m_ilImages.ExtractIcon(0); if (hicon != NULL) m_staticIcon.SetIcon(hicon); } // Set the icon to the big cluster picture
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
} //*** CAboutDlg::OnInitDialog()
|