GuruAppDlg.cpp
上传用户:tlk791129
上传日期:2007-01-02
资源大小:19k
文件大小:4k
源码类别:

Static控件

开发平台:

Visual C++

  1. // GuruAppDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "GuruApp.h"
  5. #include "GuruAppDlg.h"
  6. #include "StaticCounter.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CGuruAppDlg dialog
  14. CGuruAppDlg::CGuruAppDlg(CWnd* pParent /*=NULL*/)
  15. : CDialog(CGuruAppDlg::IDD, pParent)
  16. {
  17. //{{AFX_DATA_INIT(CGuruAppDlg)
  18. // NOTE: the ClassWizard will add member initialization here
  19. //}}AFX_DATA_INIT
  20. // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
  21. m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  22. }
  23. void CGuruAppDlg::DoDataExchange(CDataExchange* pDX)
  24. {
  25. CDialog::DoDataExchange(pDX);
  26. //{{AFX_DATA_MAP(CGuruAppDlg)
  27. DDX_Control(pDX, IDC_HYPERLINK_MAIL, m_hyperMail);
  28. DDX_Control(pDX, IDC_HYPERLINK, m_hyperlinkWeb);
  29. DDX_Control(pDX, IDC_STATIC_COUNTER, m_staticCounter);
  30. //}}AFX_DATA_MAP
  31. }
  32. BEGIN_MESSAGE_MAP(CGuruAppDlg, CDialog)
  33. //{{AFX_MSG_MAP(CGuruAppDlg)
  34. ON_WM_PAINT()
  35. ON_WM_QUERYDRAGICON()
  36. ON_WM_TIMER()
  37. //}}AFX_MSG_MAP
  38. END_MESSAGE_MAP()
  39. /////////////////////////////////////////////////////////////////////////////
  40. // CGuruAppDlg message handlers
  41. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Function Header
  42. BOOL CGuruAppDlg::OnInitDialog()
  43. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  44. {
  45. CDialog::OnInitDialog();
  46. // Set the icon for this dialog.  The framework does this automatically
  47. //  when the application's main window is not a dialog
  48. SetIcon(m_hIcon, TRUE); // Set big icon
  49. SetIcon(m_hIcon, FALSE); // Set small icon
  50. m_nNumber = 0;
  51. m_hyperlinkWeb.SetUnderline(FALSE);
  52. m_hyperMail.SetUnderline(FALSE);
  53. m_hyperMail.SetURL("mailto:jhattingh@greystonefx.com");
  54. // m_staticCounter.SetColorBackGround(0x00220000);
  55. // m_staticCounter.SetColorForeGround(0x00FFF000);
  56. SetTimer(403, 100, NULL);
  57. return TRUE;  // return TRUE  unless you set the focus to a control
  58. }
  59. // If you add a minimize button to your dialog, you will need the code below
  60. //  to draw the icon.  For MFC applications using the document/view model,
  61. //  this is automatically done for you by the framework.
  62. void CGuruAppDlg::OnPaint() 
  63. {
  64. if (IsIconic())
  65. {
  66. CPaintDC dc(this); // device context for painting
  67. SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
  68. // Center icon in client rectangle
  69. int cxIcon = GetSystemMetrics(SM_CXICON);
  70. int cyIcon = GetSystemMetrics(SM_CYICON);
  71. CRect rect;
  72. GetClientRect(&rect);
  73. int x = (rect.Width() - cxIcon + 1) / 2;
  74. int y = (rect.Height() - cyIcon + 1) / 2;
  75. // Draw the icon
  76. dc.DrawIcon(x, y, m_hIcon);
  77. }
  78. else
  79. {
  80. CDialog::OnPaint();
  81. }
  82. }
  83. // The system calls this to obtain the cursor to display while the user drags
  84. //  the minimized window.
  85. HCURSOR CGuruAppDlg::OnQueryDragIcon()
  86. {
  87. return (HCURSOR) m_hIcon;
  88. }
  89. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Function Header
  90. void CGuruAppDlg::OnStart()
  91. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  92. {
  93. }
  94. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Function Header
  95. void CGuruAppDlg::OnTimer(UINT nIDEvent) 
  96. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  97. {
  98. m_staticCounter.Display( m_nNumber++);
  99. CDialog::OnTimer(nIDEvent);
  100. }