AboutDlg.cpp
上传用户:newyosio
上传日期:2007-01-01
资源大小:226k
文件大小:3k
源码类别:

按钮控件

开发平台:

Visual C++

  1. // AboutDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "AboutDlg.h"
  5. #ifdef _DEBUG
  6. #define new DEBUG_NEW
  7. #undef THIS_FILE
  8. static char THIS_FILE[] = __FILE__;
  9. #endif
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CAboutDlg dialog
  12. CAboutDlg::CAboutDlg(CWnd* pParent /*=NULL*/)
  13. : CDialog(CAboutDlg::IDD, pParent)
  14. {
  15. //{{AFX_DATA_INIT(CAboutDlg)
  16. // NOTE: the ClassWizard will add member initialization here
  17. //}}AFX_DATA_INIT
  18. }
  19. void CAboutDlg::DoDataExchange(CDataExchange* pDX)
  20. {
  21. CDialog::DoDataExchange(pDX);
  22. //{{AFX_DATA_MAP(CAboutDlg)
  23. // NOTE: the ClassWizard will add DDX and DDV calls here
  24. //}}AFX_DATA_MAP
  25. DDX_Control(pDX, IDC_EMAILLINK, m_EMailLink);
  26. DDX_Control(pDX, IDC_HOMEPAGELINK, m_HomePageLink);
  27. }
  28. BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
  29. //{{AFX_MSG_MAP(CAboutDlg)
  30. //}}AFX_MSG_MAP
  31. ON_WM_PAINT()
  32. END_MESSAGE_MAP()
  33. /////////////////////////////////////////////////////////////////////////////
  34. // CAboutDlg message handlers
  35. BOOL CAboutDlg::OnInitDialog() 
  36. {
  37. CDialog::OnInitDialog();
  38. // Create OK button
  39. m_btnOk.SubclassDlgItem(IDOK, this);
  40. m_btnOk.SetIcon(IDI_OKBOR16);
  41. // Set HyperLink for E-Mail
  42. m_EMailLink.SetURL(_T(IDS_MAILADDR));
  43. m_EMailLink.SetUnderline(TRUE);
  44. m_EMailLink.SetLinkCursor(AfxGetApp()->LoadCursor(IDC_HAND));
  45. // Set HyperLink for Home Page
  46. m_HomePageLink.SetURL(_T(IDS_HOMEPAGEADDR));
  47. m_HomePageLink.SetUnderline(TRUE);
  48. m_HomePageLink.SetLinkCursor(AfxGetApp()->LoadCursor(IDC_HAND));
  49. SetLogoFont("Verdana", -25);
  50. // Write class version
  51. CString sVersion;
  52. sVersion.Format("CButtonST v%s", CButtonST::GetVersionC());
  53. GetDlgItem(IDC_VERSION)->SetWindowText(sVersion);
  54. // Fill friends listbox
  55. CListBox* lbxFriends;
  56. lbxFriends = (CListBox*)GetDlgItem(IDC_FRIENDS);
  57. lbxFriends->AddString("Armin Mendle <A.Mendle@alcatel.de>");
  58. lbxFriends->AddString("Mike Turner <Mike.Turner@rli.co.uk>");
  59. lbxFriends->AddString("Ralph Varjabedian <Sandman@BIGnet.com.lb>");
  60. lbxFriends->AddString("Milan Gardian <mg@tatramed.sk>");
  61. lbxFriends->AddString("Chris Maunder <Chris.Maunder@cbr.clw.csiro.au>");
  62. lbxFriends->AddString("Michael Santoro <msantoro@telerama.lm.com>");
  63. lbxFriends->AddString("Keith Rule <keithr@europa.com>");
  64. lbxFriends->AddString("Jeremy Davis <jmd@jvf.co.uk>");
  65. lbxFriends->AddString("Avtukhov Roman Victorovich <arv@lipetsk.ru>");
  66. lbxFriends->AddString("David K. Fisk <david@fisk.net>");
  67. lbxFriends->AddString("Andrey Karabasov <karabasov@yahoo.com>");
  68. lbxFriends->AddString("Scott Amspoker <sda@rt66.com>");
  69. lbxFriends->AddString("Daniel P Lyons <YPBLAZE@aol.com>");
  70. return TRUE;
  71. }
  72. void CAboutDlg::SetLogoFont(CString Name, int nHeight, int nWeight, BYTE bItalic, BYTE bUnderline)
  73. {
  74.   if(m_fontLogo.m_hObject) m_fontLogo.Detach();
  75.   m_fontLogo.CreateFont(nHeight, 0, 0, 0, nWeight, bItalic, bUnderline,0,0,0,0,0,0, Name);
  76. } // End of SetLogoFont
  77. void CAboutDlg::OnPaint()
  78. {
  79.     CPaintDC dc(this); // device context for painting
  80.     CRect rectDlg;
  81.     GetWindowRect(rectDlg);
  82.     ScreenToClient(rectDlg);
  83.     CFont* OldFont = dc.SelectObject(&m_fontLogo);
  84.     CSize sizeText = dc.GetTextExtent(STSIGN, strlen(STSIGN));
  85.     dc.DrawState(CPoint((rectDlg.Width()-sizeText.cx)/2, 10), 
  86.                  rectDlg.Size(), 
  87.                  STSIGN, 
  88.                  DSS_DISABLED, TRUE, 0, (CBrush*)NULL);
  89.     dc.SelectObject(OldFont);
  90. } // End of OnPaint