subresyncDlg.cpp
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:4k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /* 
  2.  * SubResync.  Copyright (C) 2003-2005 Gabest
  3.  * http://www.gabest.org
  4.  *
  5.  *  This Program is free software; you can redistribute it and/or modify
  6.  *  it under the terms of the GNU General Public License as published by
  7.  *  the Free Software Foundation; either version 2, or (at your option)
  8.  *  any later version.
  9.  *   
  10.  *  This Program is distributed in the hope that it will be useful,
  11.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13.  *  GNU General Public License for more details.
  14.  *   
  15.  *  You should have received a copy of the GNU General Public License
  16.  *  along with GNU Make; see the file COPYING.  If not, write to
  17.  *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 
  18.  *  http://www.gnu.org/copyleft/gpl.html
  19.  *
  20.  */
  21. // subresyncDlg.cpp : implementation file
  22. //
  23. #include "stdafx.h"
  24. #include "subresync.h"
  25. #include "subresyncDlg.h"
  26. #ifdef _DEBUG
  27. #define new DEBUG_NEW
  28. #endif
  29. // CAboutDlg dialog used for App About
  30. class CAboutDlg : public CDialog
  31. {
  32. public:
  33. CAboutDlg();
  34. // Dialog Data
  35. enum { IDD = IDD_ABOUTBOX };
  36. protected:
  37. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  38. // Implementation
  39. protected:
  40. DECLARE_MESSAGE_MAP()
  41. };
  42. CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
  43. {
  44. }
  45. void CAboutDlg::DoDataExchange(CDataExchange* pDX)
  46. {
  47. CDialog::DoDataExchange(pDX);
  48. }
  49. BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
  50. END_MESSAGE_MAP()
  51. // CSubresyncDlg dialog
  52. CSubresyncDlg::CSubresyncDlg(CWnd* pParent /*=NULL*/)
  53. : CDialog(CSubresyncDlg::IDD, pParent)
  54. {
  55. m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  56. }
  57. void CSubresyncDlg::DoDataExchange(CDataExchange* pDX)
  58. {
  59. CDialog::DoDataExchange(pDX);
  60. }
  61. BEGIN_MESSAGE_MAP(CSubresyncDlg, CDialog)
  62. ON_WM_SYSCOMMAND()
  63. ON_WM_PAINT()
  64. ON_WM_QUERYDRAGICON()
  65. //}}AFX_MSG_MAP
  66. END_MESSAGE_MAP()
  67. // CSubresyncDlg message handlers
  68. BOOL CSubresyncDlg::OnInitDialog()
  69. {
  70. CDialog::OnInitDialog();
  71. // Add "About..." menu item to system menu.
  72. // IDM_ABOUTBOX must be in the system command range.
  73. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
  74. ASSERT(IDM_ABOUTBOX < 0xF000);
  75. CMenu* pSysMenu = GetSystemMenu(FALSE);
  76. if (pSysMenu != NULL)
  77. {
  78. CString strAboutMenu;
  79. strAboutMenu.LoadString(IDS_ABOUTBOX);
  80. if (!strAboutMenu.IsEmpty())
  81. {
  82. pSysMenu->AppendMenu(MF_SEPARATOR);
  83. pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
  84. }
  85. }
  86. // Set the icon for this dialog.  The framework does this automatically
  87. //  when the application's main window is not a dialog
  88. SetIcon(m_hIcon, TRUE); // Set big icon
  89. SetIcon(m_hIcon, FALSE); // Set small icon
  90. // TODO: Add extra initialization here
  91. return TRUE;  // return TRUE  unless you set the focus to a control
  92. }
  93. void CSubresyncDlg::OnSysCommand(UINT nID, LPARAM lParam)
  94. {
  95. if ((nID & 0xFFF0) == IDM_ABOUTBOX)
  96. {
  97. CAboutDlg dlgAbout;
  98. dlgAbout.DoModal();
  99. }
  100. else
  101. {
  102. CDialog::OnSysCommand(nID, lParam);
  103. }
  104. }
  105. // If you add a minimize button to your dialog, you will need the code below
  106. //  to draw the icon.  For MFC applications using the document/view model,
  107. //  this is automatically done for you by the framework.
  108. void CSubresyncDlg::OnPaint() 
  109. {
  110. if (IsIconic())
  111. {
  112. CPaintDC dc(this); // device context for painting
  113. SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
  114. // Center icon in client rectangle
  115. int cxIcon = GetSystemMetrics(SM_CXICON);
  116. int cyIcon = GetSystemMetrics(SM_CYICON);
  117. CRect rect;
  118. GetClientRect(&rect);
  119. int x = (rect.Width() - cxIcon + 1) / 2;
  120. int y = (rect.Height() - cyIcon + 1) / 2;
  121. // Draw the icon
  122. dc.DrawIcon(x, y, m_hIcon);
  123. }
  124. else
  125. {
  126. CDialog::OnPaint();
  127. }
  128. }
  129. // The system calls this function to obtain the cursor to display while the user drags
  130. //  the minimized window.
  131. HCURSOR CSubresyncDlg::OnQueryDragIcon()
  132. {
  133. return static_cast<HCURSOR>(m_hIcon);
  134. }