/vendor/taskswitchxp/Source/ConfigTsXP/about.cpp

http://windowpicker.googlecode.com/ · C++ · 81 lines · 58 code · 14 blank · 9 comment · 12 complexity · 6c0cc52f1b71ff3621da5c78569a58db MD5 · raw file

  1. // about.cpp
  2. #include "stdafx.h"
  3. #include "main.h"
  4. #include "lang.h"
  5. #include "ownerdrawXp.h"
  6. #include "aboutconsole.h"
  7. #include "resource.h"
  8. //-----------------------------------------------------------------
  9. BOOL About_OnInitDialog(HWND hwnd, HWND, LPARAM) {
  10. g_phPages[PAGE_ABOUT] = hwnd;
  11. if (g_pfnEnableThemeDialogTexture)
  12. g_pfnEnableThemeDialogTexture(hwnd, ETDT_ENABLETAB);
  13. RECT rc;
  14. HWND h = GetDlgItem(hwnd, IDC_ABOUTCONSOLE);
  15. GetWindowRect(h, &rc);
  16. DestroyWindow(h);
  17. MapWindowPoints(GetDesktopWindow(), hwnd, (LPPOINT)&rc, 2);
  18. CreateAboutConsole(hwnd, &rc, IDC_ABOUTCONSOLE);
  19. SendMessage(hwnd, WM_LANGCHANGED, 0, 0);
  20. return(FALSE);
  21. }
  22. //-----------------------------------------------------------------
  23. /*
  24. void About_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) {
  25. }
  26. */
  27. //-----------------------------------------------------------------
  28. INT_PTR CALLBACK Dlg_AboutProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
  29. switch (uMsg) {
  30. case WM_NOTIFY: {
  31. LPNMHDR pnmhdr = reinterpret_cast<LPNMHDR>(lParam);
  32. if (pnmhdr->idFrom == IDC_HOMELINK) {
  33. switch (pnmhdr->code) {
  34. case NM_CLICK:
  35. case NM_RETURN: {
  36. PNMLINK pnmlink = reinterpret_cast<PNMLINK>(lParam);
  37. if (!lstrcmp(pnmlink->item.szID, L"idHome")) {
  38. ShellExecute(NULL, L"open", pnmlink->item.szUrl, NULL, NULL, SW_SHOWNORMAL);
  39. }
  40. break;
  41. }
  42. }
  43. } else if (pnmhdr->idFrom == IDC_TRANSLATORINFO) {
  44. switch (pnmhdr->code) {
  45. case NM_CLICK:
  46. case NM_RETURN: {
  47. PNMLINK pnmlink = reinterpret_cast<PNMLINK>(lParam);
  48. if (!lstrcmp(pnmlink->item.szID, L"idTranslatorMail") || !lstrcmp(pnmlink->item.szID, L"idTranslatorHome")) {
  49. ShellExecute(NULL, L"open", pnmlink->item.szUrl, NULL, NULL, SW_SHOWNORMAL);
  50. }
  51. break;
  52. }
  53. }
  54. }
  55. break;
  56. }
  57. case WM_LANGCHANGED: {
  58. WCHAR szBuff[MAX_LANGLEN];
  59. LangLoadString(IDS_TRANSLATORINFO, szBuff, MAX_LANGLEN);
  60. SetDlgItemText(hwnd, IDC_TRANSLATORINFO, szBuff);
  61. break;
  62. }
  63. HANDLE_MSG(hwnd, WM_INITDIALOG, About_OnInitDialog);
  64. }
  65. return(0);
  66. }
  67. //-----------------------------------------------------------------