Advertisement
xiahanlu

CAbout.hxx

Jul 5th, 2018
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.67 KB | None | 0 0
  1. # if _MSC_VER >= 1000
  2. #   pragma once
  3. # endif // _MSC_VER >= 1000
  4.  
  5. # if !defined (_CABOUT_INCLUED_HEADER_CXX_)
  6. #  define _CABOUT_INCLUED_HEADER_CXX_
  7.  
  8. # include "stdwtl.h"
  9. # include "resource.h"
  10.  
  11. //  Help - AboutATL .
  12. class CAboutATL : public CDialogImpl<CAboutATL>
  13. {
  14. public:
  15.   enum { IDD = IDD_ABOUT_ATL };
  16.  
  17.   BEGIN_MSG_MAP(CAboutATL)
  18.     MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
  19.     COMMAND_ID_HANDLER(IDOK, OnOkOrCancel)
  20.     COMMAND_ID_HANDLER(IDCANCEL, OnOkOrCancel)
  21.     NOTIFY_HANDLER(IDC_SYSLINK_ATL_HOMEPAGE, NM_CLICK, OnNMClick_)
  22.   END_MSG_MAP()
  23.  
  24. // Handler prototypes (uncomment arguments if needed):
  25. //  LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
  26. //  LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
  27. //  LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/)
  28.   LRESULT OnNMClick_ (int dummy_var, NMHDR *pNMHDR, BOOL& bHandled)
  29.   {  
  30.     bHandled = TRUE;
  31.     PNMLINK pNMLink = (PNMLINK) pNMHDR;  
  32.     if (pNMLink->hdr.hwndFrom == GetDlgItem (IDC_SYSLINK_ATL_HOMEPAGE))  
  33.       ShellExecute (NULL, _T("open"), _T ("https://msdn.microsoft.com/en-us/library/3ax346b7.aspx"), NULL, NULL, SW_SHOWNORMAL);        
  34.     else  bHandled = FALSE;   // The return value is ignored by the control. see https://msdn.microsoft.com/en-us/library/windows/desktop/bb760714(v=vs.85).aspx
  35.     return 0;
  36.   }  
  37.  
  38.   LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
  39.   {
  40.     // center the dialog on the screen
  41.     CenterWindow();
  42.  
  43.     // set icons
  44.     HICON hIcon = AtlLoadIconImage(IDI_ATL, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON));
  45.     SetIcon(hIcon, TRUE);
  46.     HICON hIconSmall = AtlLoadIconImage(IDI_ATL, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON));
  47.     SetIcon(hIconSmall, FALSE);
  48.  
  49.     return TRUE;
  50.   }
  51.  
  52.   LRESULT OnOkOrCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
  53.   {
  54.     // TODO: Add validation code
  55.     EndDialog(wID);
  56.     return 0;
  57.   }
  58. };
  59. //  Help - AboutWTL .
  60. class CAboutWTL : public CDialogImpl<CAboutWTL>
  61. {
  62. public:
  63.   enum { IDD = IDD_ABOUT_WTL };
  64.  
  65.   BEGIN_MSG_MAP(CAboutWTL)
  66.     MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
  67.     COMMAND_ID_HANDLER(IDOK, OnOkOrCancel)
  68.     COMMAND_ID_HANDLER(IDCANCEL, OnOkOrCancel)
  69.     NOTIFY_HANDLER(IDC_SYSLINK_WTL_HOMEPAGE, NM_CLICK, OnNMClick_)
  70.     NOTIFY_HANDLER(IDC_SYSLINK_DOCKWINS_HOMEPAGE, NM_CLICK, OnNMClick_)
  71.     NOTIFY_HANDLER(IDC_SYSLINK_LISTCTRL_HOMEPAGE, NM_CLICK, OnNMClick_)
  72.   END_MSG_MAP()
  73.  
  74. // Handler prototypes (uncomment arguments if needed):
  75. //  LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
  76. //  LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
  77. //  LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/)
  78.   LRESULT OnNMClick_ (int dummy_var, NMHDR *pNMHDR, BOOL& bHandled)  
  79.   {  
  80.     bHandled = TRUE;
  81.     PNMLINK pNMLink = (PNMLINK) pNMHDR;  
  82.     if (pNMLink->hdr.hwndFrom == GetDlgItem (IDC_SYSLINK_WTL_HOMEPAGE))  
  83.       ShellExecute (NULL, _T("open"), _T ("https://sourceforge.net/projects/wtl/"), NULL, NULL, SW_SHOWNORMAL);
  84.     else if (pNMLink->hdr.hwndFrom == GetDlgItem (IDC_SYSLINK_DOCKWINS_HOMEPAGE))
  85.       ShellExecute (NULL, _T("open"), _T ("https://bitbucket.org/sergiu/wtl-dockwins"), NULL, NULL, SW_SHOWNORMAL);        
  86.     else if (pNMLink->hdr.hwndFrom == GetDlgItem (IDC_SYSLINK_LISTCTRL_HOMEPAGE))
  87.       ShellExecute (NULL, _T("open"), _T ("https://www.codeproject.com/Articles/13383/ListCtrl-A-WTL-list-control-with-Windows-Vista-sty"), NULL, NULL, SW_SHOWNORMAL);        
  88.     else bHandled = FALSE;
  89.     return  0; // The return value is ignored by the control. see https://msdn.microsoft.com/en-us/library/windows/desktop/bb760714(v=vs.85).aspx
  90.   }  
  91.  
  92.   LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
  93.   {
  94.     // center the dialog on the screen
  95.     CenterWindow();
  96.  
  97.     // set icons
  98.     HICON hIcon = AtlLoadIconImage(IDI_WTL, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON));
  99.     SetIcon(hIcon, TRUE);
  100.     HICON hIconSmall = AtlLoadIconImage(IDI_WTL, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON));
  101.     SetIcon(hIconSmall, FALSE);
  102.  
  103.     return TRUE;
  104.   }
  105.  
  106.   LRESULT OnOkOrCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
  107.   {
  108.     // TODO: Add validation code
  109.     EndDialog(wID);
  110.     return 0;
  111.   }
  112. };
  113.  
  114. # endif // !defined(_CABOUT_INCLUED_HEADER_CXX_)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement