pgmsebut.cpp
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 2k
Category:

Windows Kernel

Development Platform:

Visual C++

  1. #include "pch.hxx" // pch
  2. #pragma hdrstop
  3. #include "resource.h"
  4. #include "pgMseBut.h"
  5. CMouseButtonPg::CMouseButtonPg(
  6. LPPROPSHEETPAGE ppsp
  7. ) : WizardPage(ppsp, IDS_MSEWIZBUTTONCONFIGTITLE, IDS_MSEWIZBUTTONCONFIGSUBTITLE)
  8. {
  9. m_dwPageId = IDD_MSEWIZBUTTONCONFIG;
  10. ppsp->pszTemplate = MAKEINTRESOURCE(m_dwPageId);
  11. }
  12. CMouseButtonPg::~CMouseButtonPg(
  13. VOID
  14. )
  15. {
  16. }
  17. LRESULT
  18. CMouseButtonPg::OnInitDialog(
  19. HWND hwnd,
  20. WPARAM wParam,
  21. LPARAM lParam
  22. )
  23. {
  24. if(g_Options.m_schemePreview.m_bSwapMouseButtons)
  25. Button_SetCheck(GetDlgItem(m_hwnd, MOUSE_LEFTHAND), TRUE);
  26. else
  27. Button_SetCheck(GetDlgItem(m_hwnd, MOUSE_RIGHTHAND), TRUE);
  28. RECT rc;
  29. GetWindowRect(GetDlgItem(m_hwnd, IDC_OBJECTMENU), &rc);
  30. m_ptRight.x = rc.left;
  31. m_ptRight.y = rc.top;
  32. GetWindowRect(GetDlgItem(m_hwnd, IDC_SELECTDRAG), &rc);
  33. m_ptLeft.x = rc.left;
  34. m_ptLeft.y = rc.top;
  35. ScreenToClient(m_hwnd, &m_ptRight);
  36. ScreenToClient(m_hwnd, &m_ptLeft);
  37. UpdateControls();
  38. return 1;
  39. }
  40. void CMouseButtonPg::UpdateControls()
  41. {
  42. if(Button_GetCheck(GetDlgItem(m_hwnd, MOUSE_RIGHTHAND)))
  43. {
  44. SetWindowPos(GetDlgItem(m_hwnd, IDC_OBJECTMENU), NULL, m_ptRight.x, m_ptRight.y, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
  45. SetWindowPos(GetDlgItem(m_hwnd, IDC_SELECTDRAG), NULL, m_ptLeft.x, m_ptLeft.y, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
  46. ShowWindow(GetDlgItem(m_hwnd, IDC_MOUSEPIC1), TRUE);
  47. ShowWindow(GetDlgItem(m_hwnd, IDC_MOUSEPIC2), FALSE);
  48. }
  49. else
  50. {
  51. SetWindowPos(GetDlgItem(m_hwnd, IDC_OBJECTMENU), NULL, m_ptLeft.x, m_ptLeft.y, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
  52. SetWindowPos(GetDlgItem(m_hwnd, IDC_SELECTDRAG), NULL, m_ptRight.x, m_ptRight.y, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
  53. ShowWindow(GetDlgItem(m_hwnd, IDC_MOUSEPIC1), FALSE);
  54. ShowWindow(GetDlgItem(m_hwnd, IDC_MOUSEPIC2), TRUE);
  55. }
  56. }
  57. LRESULT
  58. CMouseButtonPg::OnCommand(
  59. HWND hwnd,
  60. WPARAM wParam,
  61. LPARAM lParam
  62. )
  63. {
  64. LRESULT lResult = 1;
  65. WORD wNotifyCode = HIWORD(wParam);
  66. WORD wCtlID      = LOWORD(wParam);
  67. HWND hwndCtl     = (HWND)lParam;
  68. switch(wCtlID)
  69. {
  70. case MOUSE_LEFTHAND:
  71. case MOUSE_RIGHTHAND:
  72. UpdateControls();
  73. break;
  74. }
  75. return lResult;
  76. }
  77. LRESULT
  78. CMouseButtonPg::OnPSN_WizNext(
  79.    HWND hwnd,
  80.    INT idCtl,
  81.    LPPSHNOTIFY pnmh
  82.    )
  83. {
  84. g_Options.m_schemePreview.m_bSwapMouseButtons = Button_GetCheck(GetDlgItem(m_hwnd, MOUSE_LEFTHAND));
  85. g_Options.ApplyPreview();
  86. return WizardPage::OnPSN_WizNext(hwnd, idCtl, pnmh);
  87. }