windows-nt/Source/XPSP1/NT/base/cluster/admin/cluadmin/about.cpp
2020-09-26 16:20:57 +08:00

189 lines
4.9 KiB
C++

/////////////////////////////////////////////////////////////////////////////
//
// 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()