📄 dlgabout.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 + -