AboutDlg.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:6k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // AboutDlg.h : header file
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #if !defined(__ABOUTDLG_H__)
  21. #define __ABOUTDLG_H__
  22. #if _MSC_VER > 1000
  23. #pragma once
  24. #endif // _MSC_VER > 1000
  25. #if (_MSC_VER > 1310) // VS2005
  26. #if defined _M_IX86
  27. #pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"")
  28. #elif defined _M_IA64
  29. #pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'"")
  30. #elif defined _M_X64
  31. #pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"")
  32. #else
  33. #pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"")
  34. #endif
  35. #endif
  36. /////////////////////////////////////////////////////////////////////////////
  37. // CAboutDlg dialog
  38. #include "Resource.h"
  39. class CAboutDlg : public CDialog
  40. {
  41. // Construction
  42. public:
  43. CAboutDlg(CWnd* pParent = NULL)
  44. : CDialog(IDD_ABOUTBOX, pParent)
  45. {
  46. NONCLIENTMETRICS ncm;
  47. ::ZeroMemory(&ncm, sizeof(NONCLIENTMETRICS));
  48. ncm.cbSize = sizeof(NONCLIENTMETRICS);
  49. VERIFY(::SystemParametersInfo(SPI_GETNONCLIENTMETRICS,
  50. sizeof(NONCLIENTMETRICS), &ncm, 0));
  51. ncm.lfMenuFont.lfWeight = FW_BOLD;
  52. m_fontBold.CreateFontIndirect(&ncm.lfMenuFont);
  53. }
  54. // Dialog Data
  55. //{{AFX_DATA(CAboutDlg)
  56. //enum { IDD = IDD_ABOUTBOX };
  57. CStatic m_txtPackageVersion;
  58. CStatic m_txtCopyrightInfo;
  59. CStatic m_txtAppName;
  60. CXTButton m_btnOk;
  61. CXTHyperLink m_txtURL;
  62. CXTHyperLink m_txtEmail;
  63. //}}AFX_DATA
  64. CFont m_fontBold;
  65. // Overrides
  66. // ClassWizard generated virtual function overrides
  67. //{{AFX_VIRTUAL(CAboutDlg)
  68. protected:
  69. virtual void DoDataExchange(CDataExchange* pDX)
  70. {
  71. CDialog::DoDataExchange(pDX);
  72. //{{AFX_DATA_MAP(CAboutDlg)
  73. DDX_Control(pDX, IDC_TXT_TITLE, m_txtPackageVersion);
  74. DDX_Control(pDX, IDC_TXT_COPYRIGHT, m_txtCopyrightInfo);
  75. DDX_Control(pDX, IDC_TXT_APPNAME, m_txtAppName);
  76. DDX_Control(pDX, IDOK, m_btnOk);
  77. DDX_Control(pDX, IDC_TXT_URL, m_txtURL);
  78. DDX_Control(pDX, IDC_TXT_EMAIL, m_txtEmail);
  79. //}}AFX_DATA_MAP
  80. }
  81. virtual BOOL OnInitDialog()
  82. {
  83. CDialog::OnInitDialog();
  84. // get a pointer to CWinApp.
  85. CWinApp* pApp = AfxGetApp( );
  86. ASSERT( pApp != NULL );
  87. // set the sample title.
  88. CString csSampleTitle;
  89. csSampleTitle.Format(_T("%s Application"), pApp->m_pszAppName);
  90. m_txtAppName.SetWindowText( csSampleTitle );
  91. // set the package version.
  92. CString csPackageVersion;
  93. csPackageVersion.Format( _T( "%s v%d.%d.%d" ),
  94. _XTP_PACKAGE_NAME, _XTPLIB_VERSION_MAJOR, _XTPLIB_VERSION_MINOR, _XTPLIB_VERSION_REVISION);
  95. m_txtPackageVersion.SetWindowText( csPackageVersion );
  96. // set the about caption.
  97. CString csAboutCaption;
  98. csAboutCaption.Format( _T("About %s" ), pApp->m_pszAppName );
  99. SetWindowText( csAboutCaption );
  100. // set the copyright info.
  101. CString csCopyrightInfo;
  102. csCopyrightInfo.Format( _T( "(c)1998-%d Codejock Software, All Rights Reserved" ),
  103. COleDateTime::GetCurrentTime().GetYear( ) );
  104. m_txtCopyrightInfo.SetWindowText( csCopyrightInfo );
  105. // set the title text to bold font.
  106. m_txtPackageVersion.SetFont( &m_fontBold );
  107. // define the url for our hyperlinks.
  108. m_txtURL.SetURL( _T( "http://www.codejock.com" ) );
  109. m_txtURL.SetUnderline( false );
  110. m_txtEmail.SetURL( _T( "mailto:sales@codejock.com" ) );
  111. m_txtEmail.SetUnderline( false );
  112. // set OK button style.
  113. m_btnOk.SetXButtonStyle( BS_XT_SEMIFLAT | BS_XT_HILITEPRESSED | BS_XT_WINXP_COMPAT );
  114. return TRUE;  // return TRUE unless you set the focus to a control
  115.               // EXCEPTION: OCX Property Pages should return FALSE
  116. }
  117. };
  118. #ifdef ENABLE_MANIFESTEDITOR
  119. #if !defined(_UNICODE) && (_MSC_VER < 1400)
  120. #if _MSC_VER > 1200 //MFC 7.0
  121. #include <..srcmfcafximpl.h> // MFC Global data
  122. #else
  123. #include <..srcafximpl.h>     // MFC Global data
  124. #endif
  125. #endif
  126. AFX_INLINE void EnableManifestEditor()
  127. {
  128. #if !defined(_UNICODE) && (_MSC_VER < 1400)
  129. OSVERSIONINFO ovi = {sizeof(OSVERSIONINFO)};
  130. ::GetVersionEx(&ovi);
  131. if ((ovi.dwPlatformId >= VER_PLATFORM_WIN32_NT) && (ovi.dwMajorVersion >= 5))
  132. {
  133. #if (_MSC_VER >= 1200)
  134. afxData.bWin95 = TRUE;
  135. #else
  136. afxData.bWin32s = TRUE;
  137. #endif
  138. }
  139. #endif
  140. }
  141. #else
  142. AFX_INLINE void EnableManifestEditor()
  143. {
  144. }
  145. #endif
  146. AFX_INLINE void ShowSampleHelpPopup(CWnd* pParentWnd, UINT nIDResource)
  147. {
  148. CXTPPopupControl* pPopup = new CXTPPopupControl();
  149. pPopup->SetTransparency(200);
  150. pPopup->SetTheme(xtpPopupThemeOffice2003);
  151. pPopup->AllowMove(TRUE);
  152. pPopup->SetAnimateDelay(500);
  153. pPopup->SetPopupAnimation();
  154. pPopup->SetShowDelay(5000);
  155. pPopup->SetAutoDelete(TRUE);
  156. CXTPPopupItem* pItemText = (CXTPPopupItem*)pPopup->AddItem(new CXTPPopupItem(CRect(8, 12, 500, 130)));
  157. pItemText->SetRTFText(nIDResource);
  158. pItemText->FitToContent();
  159. CSize sz(pItemText->GetRect().Size());
  160. // close icon.
  161. CXTPPopupItem* pItemIcon = (CXTPPopupItem*)pPopup->AddItem(
  162. new CXTPPopupItem(CRect(sz.cx + 2, 10, sz.cx + 2 + 16, 10 + 16)));
  163. pPopup->GetImageManager()->SetIcon(IDI_POPUP_CLOSE, IDI_POPUP_CLOSE);
  164. pItemIcon->SetIconIndex(IDI_POPUP_CLOSE);
  165. pItemIcon->SetButton(TRUE);
  166. pItemIcon->SetID(XTP_ID_POPUP_CLOSE);
  167. pPopup->SetPopupSize(CSize(sz.cx + 20, sz.cy + 20));
  168. pPopup->Show(pParentWnd);
  169. }
  170. //{{AFX_INSERT_LOCATION}}
  171. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  172. #endif // !defined(__ABOUTDLG_H__)