vncAbout.cpp
上传用户:sbftbdw
上传日期:2007-01-03
资源大小:379k
文件大小:3k
源码类别:

远程控制编程

开发平台:

Visual C++

  1. //  Copyright (C) 1997, 1998 Olivetti & Oracle Research Laboratory
  2. //
  3. //  This file is part of the VNC system.
  4. //
  5. //  The VNC system 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 of the License, or
  8. //  (at your option) 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 this program; if not, write to the Free Software
  17. //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
  18. //  USA.
  19. //
  20. // If the source code for the VNC system is not available from the place 
  21. // whence you received this file, check http://www.orl.co.uk/vnc or contact
  22. // the authors on vnc@orl.co.uk for information on obtaining it.
  23. // vncAbout.cpp
  24. // Implementation of the About dialog!
  25. #include "stdhdrs.h"
  26. #include "WinVNC.h"
  27. #include "vncAbout.h"
  28. // Constructor/destructor
  29. vncAbout::vncAbout()
  30. {
  31. m_dlgvisible = FALSE;
  32. }
  33. vncAbout::~vncAbout()
  34. {
  35. }
  36. // Initialisation
  37. BOOL
  38. vncAbout::Init()
  39. {
  40. return TRUE;
  41. }
  42. // Dialog box handling functions
  43. void
  44. vncAbout::Show(BOOL show)
  45. {
  46. if (show)
  47. {
  48. if (!m_dlgvisible)
  49. {
  50. DialogBoxParam(hAppInstance,
  51. MAKEINTRESOURCE(IDD_ABOUT), 
  52. NULL,
  53. (DLGPROC) DialogProc,
  54. (LONG) this);
  55. }
  56. }
  57. }
  58. BOOL CALLBACK
  59. vncAbout::DialogProc(HWND hwnd,
  60.  UINT uMsg,
  61.  WPARAM wParam,
  62.  LPARAM lParam )
  63. {
  64. // We use the dialog-box's USERDATA to store a _this pointer
  65. // This is set only once WM_INITDIALOG has been recieved, though!
  66. vncAbout *_this = (vncAbout *) GetWindowLong(hwnd, GWL_USERDATA);
  67. switch (uMsg)
  68. {
  69. case WM_INITDIALOG:
  70. {
  71. // Retrieve the Dialog box parameter and use it as a pointer
  72. // to the calling vncProperties object
  73. SetWindowLong(hwnd, GWL_USERDATA, lParam);
  74. _this = (vncAbout *) lParam;
  75. // Show the dialog
  76. SetForegroundWindow(hwnd);
  77. _this->m_dlgvisible = TRUE;
  78. return TRUE;
  79. }
  80. case WM_COMMAND:
  81. switch (LOWORD(wParam))
  82. {
  83. case IDCANCEL:
  84. case IDOK:
  85. // Close the dialog
  86. EndDialog(hwnd, TRUE);
  87. _this->m_dlgvisible = FALSE;
  88. return TRUE;
  89. }
  90. break;
  91. case WM_DESTROY:
  92. EndDialog(hwnd, FALSE);
  93. _this->m_dlgvisible = FALSE;
  94. return TRUE;
  95. }
  96. return 0;
  97. }