⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resorgaboutbox.cpp

📁 ResOrg 图形化管理Vc项目的资源ID的工具的源代码。 ResOrg - Manage and Renumber Resource Symbol IDs Introduction The
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/************************************************************************
 *
 *                 Resource ID Organiser Core Library
 *
 * (c) Copyright 2000-2004 by Riverblade Limited (UK). All rights reserved.
 *
 ************************************************************************
 *                                                                       
 *  Description : CResOrgAboutBox - "About Box" dialog class
 *                
 *  Compiler    : Microsoft Visual C++ 6.0, Service Pack 3 or later
 *                Microsoft Visual C++ .NET 2003
 *                                                                       
 *  Target                                                               
 *  Environment : Windows 98/NT/2000/XP
 *
 *  NOTE:
 *
 *    This software is provided "as is". All title and copyrights in and
 *    to the software, including but not limited to any images, text etc.
 *    etc. incorporated into it, are the property of Anna-Jayne Metcalfe
 *    and Riverblade Limited, except where acknowledged otherwise.
 *
 *    Your may freely use this code in your own products, PROVIDED
 *    this notice is not removed or modified.
 *
 *    Please visit http://www.riverblade.co.uk/products/resorg for
 *    support and updates
 *
 ************************************************************************
 *
 *   MODIFICATION HISTORY:
 *
 *           This is a controlled document. See project configuration
 *           control tool for latest version and full version history.
 *
 *    $Archive: /Projects/AddIns/ResOrg/ResOrgCore/ResOrgAboutBox.cpp $
 *   $Revision: 24 $
 *       $Date: 13/12/04 3:50 $
 *     $Author: Anna $
 *
 *    $History: ResOrgAboutBox.cpp $
 * 
 * *****************  Version 24  *****************
 * User: Anna         Date: 13/12/04   Time: 3:50
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * 1.  Added company logo and legal warning
 * 2.  Updated file banners
 * 
 * *****************  Version 23  *****************
 * User: Anna         Date: 10/05/04   Time: 20:21
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Clicking on the piccy now opens the "About Me" page on my site...
 * 
 * *****************  Version 22  *****************
 * User: Anna         Date: 15/04/03   Time: 20:38
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * 1.  Removed unnecessary file guards (#pragma once works well enough)
 * 2.  Updated file banners
 * 
 * *****************  Version 21  *****************
 * User: Anna         Date: 19/03/03   Time: 18:41
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Banner corrections only
 * 
 * *****************  Version 20  *****************
 * User: Anna         Date: 7/03/03    Time: 11:58
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Minor corrections
 * 
 * *****************  Version 19  *****************
 * User: Anna         Date: 2/01/03    Time: 0:16
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * 1.  Improvements to disclaimer and expiry tex using CNGHtmlStaticCtrl
 * 2.  Added a mugshot (just call me a vain cow, OK?)
 * 
 * *****************  Version 18  *****************
 * User: Anna         Date: 3/12/02    Time: 20:30
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Made buttons XP style if a theme is active
 * 
 * *****************  Version 17  *****************
 * User: Anna         Date: 25/11/02   Time: 20:27
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * 1.  Updated website address on file banner
 * 2.  Website/email addresses are now obtained from the Options object
 * rather than being hard-coded
 * 
 * *****************  Version 16  *****************
 * User: Anna         Date: 22/10/02   Time: 14:17
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Corrected email address on hyperlink
 * 
 * *****************  Version 15  *****************
 * User: Anna         Date: 22/10/02   Time: 13:24
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Changed name/mail address (at last!)
 * 
 * *****************  Version 14  *****************
 * User: Andy         Date: 14/06/02   Time: 16:42
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Made the About Box slightly more colourful...
 * 
 * *****************  Version 13  *****************
 * User: Andy         Date: 12/06/02   Time: 22:50
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Replaced CNGModulesListCtrl with CResOrgModulesListCtrl
 * 
 * *****************  Version 12  *****************
 * User: Andy         Date: 12/06/02   Time: 15:44
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Added CResOrgAboutBox::m_pModuleState in order to configure the "Loaded
 * Modules" control in the add-in
 * 
 * *****************  Version 11  *****************
 * User: Andy         Date: 11/06/02   Time: 23:04
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * The AboutBox is now expandable - it now includes a list of the loaded
 * modules
 * 
 * *****************  Version 10  *****************
 * User: Andy         Date: 11/06/02   Time: 11:12
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * CResOrgAboutBox now picks up the application name dynamically
 * 
 * *****************  Version 9  *****************
 * User: Andy         Date: 7/06/02    Time: 17:04
 * Updated in $/Projects/AddIns/ResOrg/ResOrgCore
 * Renamed the ResOrgUtils module to ResOrgCore. Updated file banners
 * accordingly
 * 
 * *****************  Version 8  *****************
 * User: Andy         Date: 7/06/02    Time: 9:36
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * 1. The Splash Screen and About Box now display the target environment
 * (Visual C++ 5.0/6.0 or Visual C++.NET)
 * 2.  Updated file banners
 * 
 * *****************  Version 7  *****************
 * User: Andy         Date: 11/10/01   Time: 12:13p
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * Improved the splash screen and about box
 * 
 * *****************  Version 6  *****************
 * User: Andy         Date: 8/06/01    Time: 20:24
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * Corrected the email URL (it was adding an extra "mailto" to the URL)
 * 
 * *****************  Version 5  *****************
 * User: Andy         Date: 5/04/01    Time: 6:11
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * Added check for version expiry (conditional compilation)
 * 
 * *****************  Version 4  *****************
 * User: Andy         Date: 29/11/00   Time: 19:00
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 * Legal copyright string is now assumed to be complete, rather than
 * adding company name on automatically
 * 
 * *****************  Version 3  *****************
 * User: Andy         Date: 29/11/00   Time: 18:38
 * Updated in $/Projects/AddIns/ResOrg/ResOrgUtils
 *  Added file banners
 *
 * $Nokeywords: $
 *
 ************************************************************************/


#include "StdAfx.h"
#include "ResOrgCore_Priv.h"

#include "ResOrgAboutBox.h"



#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif



/////////////////////////////////////////////////////////////////////////////
// CResOrgAboutBox dialog

#define COLOUR_ABOUTBOX_BACKGROUND			RGB(255, 255, 204)
#define COLOUR_ABOUTBOX_TITLE				RGB(0, 0, 200)
#define COLOUR_ABOUTBOX_EXPIRY				RGB(200, 0, 0)
#define COLOUR_ABOUTBOX_OK_BTN_BKND			RGB(0, 128, 255)
#define COLOUR_ABOUTBOX_EXPAND_BTN_BKND		RGB(0, 160, 0)
#define COLOUR_ABOUTBOX_OK_BTN_FGND			RGB(255, 255, 255)
#define COLOUR_ABOUTBOX_EXPAND_BTN_FGND		COLOUR_ABOUTBOX_OK_BTN_FGND


CResOrgAboutBox::CResOrgAboutBox(CWnd* pParent /*=NULL*/)
	: CResOrgAboutBox_BASE(CResOrgAboutBox::IDD, pParent)
{
	m_sTitle		= _T("");
	m_sPlatform.LoadString(IDS_RESORG_PLATFORM);
	m_sFileVersion	= _T("");
	m_sCopyright	= _T("");
	m_sWebsite		= Options.GetWebURL();
	m_sMailTo		= Options.GetEmailURL();
	m_sLegalWarning.LoadString(IDS_PRODUCT_LEGAL_WARNING);

	m_rectAuthorImage.SetRectEmpty();
	m_rectCompanyLogo.SetRectEmpty();

	m_hLinkCursor	= NULL;

#if _MSC_VER >= 1300
	m_sPlatform += _T(" .NET");
#else
	m_sPlatform += _T(" 5.0/6.0");
#endif

	m_pModuleState	= NULL;
}


CResOrgAboutBox::~CResOrgAboutBox(void)
{
	if (m_hLinkCursor)
	{
		DestroyCursor(m_hLinkCursor);
	}
}


void CResOrgAboutBox::DoDataExchange(CDataExchange* pDX)
{
	CResOrgAboutBox_BASE::DoDataExchange(pDX);

	DDX_Text(pDX,		IDC_RESORG_TITLE,				m_sTitle);
	DDX_Text(pDX,		IDC_RESORG_PLATFORM,			m_sPlatform);
	DDX_Text(pDX,		IDC_RESORG_VERSION,				m_sFileVersion);
	DDX_Text(pDX,		IDC_RESORG_COPYRIGHT,			m_sCopyright);
	DDX_Text(pDX,		IDC_PRODUCT_LEGAL_WARNING,		m_sLegalWarning);
	DDX_Control(pDX,	IDC_RESORG_DISCLAIMER,			m_ctrlDisclaimer);
	DDX_Text(pDX,		IDC_RESORG_WEBSITE,				m_sWebsite);
	DDX_Control(pDX,	IDC_RESORG_WEBSITE,				m_ctrlWebsite);
	DDX_Text(pDX,		IDC_RESORG_MAILTO,				m_sMailTo);
	DDX_Control(pDX,	IDC_RESORG_MAILTO,				m_ctrlEmail);
	DDX_Control(pDX,	IDC_RESORG_EXPIRY,				m_ctrlExpiry);
	DDX_Control(pDX,	IDOK,							m_ctrlOkButton);
	DDX_Control(pDX,	IDC_RESORG_ABOUTBOX_EXPAND,		m_ctrlExpandButton);
	DDX_Control(pDX,	IDC_RESORG_ABOUTBOX_MODULES,	m_ctrlModules);
}


BEGIN_MESSAGE_MAP(CResOrgAboutBox, CResOrgAboutBox_BASE)
	ON_WM_CTLCOLOR()
	ON_WM_MOUSEMOVE()
	ON_WM_LBUTTONDOWN()
	//ON_WM_PAINT()
	ON_BN_CLICKED(		IDC_RESORG_ABOUTBOX_EXPAND,		OnClickedExpand)
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CResOrgAboutBox overrides

/******************************************************************************
 *	Called when the dialog is created
 *
 ******************************************************************************/

BOOL CResOrgAboutBox::OnInitDialog(void)
{
	CResOrgAboutBox_BASE::OnInitDialog();			// returns TRUE  unless you set the focus to a control

	// Do this now because it could cause a noticeable delay otherwise
	m_ctrlModules.Initialise(m_pModuleState);
	m_ctrlModules.SetBkColor(COLOUR_ABOUTBOX_BACKGROUND);
	m_ctrlModules.SetTextBkColor(COLOUR_ABOUTBOX_BACKGROUND);

	m_ctrlModules.Refresh();

	CWnd* pPiccy = GetDlgItem(IDC_RESORG_ABOUTBOX_PIC);
	ASSERT(NULL != pPiccy);
	if (NULL != pPiccy)
	{
		pPiccy->GetClientRect(&m_rectAuthorImage);
		pPiccy->ClientToScreen(&m_rectAuthorImage);
		ScreenToClient(&m_rectAuthorImage);
	}

	CWnd* pLogo = GetDlgItem(IDC_COMPANY_LOGO);
	ASSERT(NULL != pLogo);
	if (NULL != pLogo)
	{
		pLogo->GetClientRect(&m_rectCompanyLogo);
		pLogo->ClientToScreen(&m_rectCompanyLogo);
		ScreenToClient(&m_rectCompanyLogo);
	}

	// Set the dialog caption (this is necessary because the 
	// VC.NET build has a different application name)
	CString sCaption, sFmt;
	GetWindowText(sFmt);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -