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

📄 dlgabout.cpp

📁 一个国人自己实现图像库的程序(有参考价值)
💻 CPP
字号:
// DlgAbout.cpp : implementation file
//

#include "stdafx.h"
#include "picviewer.h"
#include "DlgAbout.h"

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

/////////////////////////////////////////////////////////////////////////////
// DlgAbout dialog


DlgAbout::DlgAbout(CWnd* pParent /*=NULL*/)
	: CDialog(DlgAbout::IDD, pParent)
{
	// load background
	FCImage		bk ;
	bk.LoadJpeg (MAKEINTRESOURCE (JPG_BACKGROUND), _T("JPG")) ;
	m_BkBrush = ::CreatePatternBrush (bk.GetHandle ()) ;

	// load the gif
	bk.LoadGif (MAKEINTRESOURCE (GIF_MAILTO), _T("GIF")) ;
	GIFINFO		gifinfo ;
	bk.GetGifInfo (&gifinfo) ;
	m_nFrame = gifinfo.wTotalFrame ;
	m_pGifArray = (FCBitmap **) new BYTE [sizeof(FCBitmap *) * m_nFrame] ;
	m_pGifArray[0] = new FCBitmap ;
	m_pGifArray[0]->Attach (bk.GetDDB_Handle ()) ;
	while (--m_nFrame > 0)
	{
		bk.LoadGifNextFrame () ;
		m_pGifArray[gifinfo.wTotalFrame - m_nFrame] = new FCBitmap ;
		m_pGifArray[gifinfo.wTotalFrame - m_nFrame]->Attach (bk.GetDDB_Handle ()) ;
	}
	m_nFrame = gifinfo.wTotalFrame ;
	m_nCurrent = 0 ;
}
DlgAbout::~DlgAbout ()
{
	::DeleteObject (m_BkBrush) ;
	while (m_nFrame-- > 0)
	{
		m_pGifArray[m_nFrame]->Clear () ;
		delete m_pGifArray[m_nFrame] ;
	}
	delete[] m_pGifArray ;
}

void DlgAbout::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(DlgAbout)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
	DDX_Control (pDX, IDC_EMAILLINK, m_EMailLink) ;
	DDX_Control (pDX, IDC_HOMEPAGELINK, m_HomePageLink) ;
}


BEGIN_MESSAGE_MAP(DlgAbout, CDialog)
	//{{AFX_MSG_MAP(DlgAbout)
	ON_WM_CTLCOLOR()
	ON_WM_TIMER()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// DlgAbout message handlers

HBRUSH DlgAbout::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	if ((nCtlColor == CTLCOLOR_DLG) || (nCtlColor == CTLCOLOR_STATIC))
	{
		pDC->SetBkMode (TRANSPARENT) ;
		hbr = m_BkBrush ;
	}
	// TODO: Return a different brush if the default is not desired
	return hbr;
}

BOOL DlgAbout::OnInitDialog() 
{
	CDialog::OnInitDialog () ;

	// Set HyperLink for E-Mail
	m_EMailLink.SetURL (_T("mailto:crazybit@263.net")) ;
	m_EMailLink.SetUnderline (CHyperLink::ulHover) ;

	// Set HyperLink for Home Page
	m_HomePageLink.SetURL (_T("http://crazybit.topcities.com")) ;
	m_HomePageLink.SetUnderline (CHyperLink::ulHover) ;

	// create a timer
	this->SetTimer (1, 100, NULL) ;

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void DlgAbout::OnTimer(UINT nIDEvent) 
{
	m_pGifArray[m_nCurrent++]->Draw (this->GetDlgItem(GIF_MAILTO)->GetWindowDC ()->m_hDC) ;
	if (m_nCurrent == m_nFrame)
		m_nCurrent = 0 ;
	CDialog::OnTimer(nIDEvent);
}

void DlgAbout::OnOK() 
{
	this->KillTimer (1) ;
	CDialog::OnOK();
}

⌨️ 快捷键说明

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