home *** CD-ROM | disk | FTP | other *** search
/ Speelhal Klassiekers - Hits des Salles de Jeux / Arcade.bin / games / Xonix32 / SRC / GAMEDLG.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-05  |  4.2 KB  |  188 lines

  1.  
  2. //===========================
  3. // GameDlg.cpp
  4. // by SA VanNess
  5. // 08 Mar 97
  6. // for the Win32 platform
  7. //===========================
  8. // Arcade Dialogs
  9. // Class implementations
  10. //===========================
  11. // Copyright (C) 1997  SA VanNess
  12. // <savanness@pipeline.com>
  13. //
  14. // For copyright information, see the file gnu_license.txt included
  15. // with this source code distribution.
  16. //
  17. // This program is free software; you can redistribute it and/or modify
  18. // it under the terms of the GNU General Public License as published by
  19. // the Free Software Foundation; either version 2 of the License, or
  20. // (at your option) any later version.
  21. //
  22. // This program is distributed in the hope that it will be useful,
  23. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  24. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  25. // GNU General Public License for more details.
  26. //
  27. // You should have received a copy of the GNU General Public License
  28. // along with this program; if not, write to the Free Software
  29. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  30. //===========================
  31.  
  32. #include <afxwin.h>
  33. #include <afxcmn.h>
  34. #include <afxres.h>
  35.  
  36. #include "resource.h"
  37. #include "macros.h"
  38. #include "hiscores.h"
  39. #include "gamedlg.h"
  40.  
  41.  
  42. //===========================
  43. // CSpeedDialog
  44.  
  45. //-----------------
  46. CSpeedDialog::CSpeedDialog(UINT id) : CDialog(id)
  47. {
  48. m_pslide = NULL;
  49. m_iSpeed = MIN_FPS;
  50. }
  51.  
  52. //-----------------
  53. BOOL CSpeedDialog::OnInitDialog()
  54. {
  55. // Call base implementation
  56. CDialog::OnInitDialog();
  57.  
  58. m_pslide = (CSliderCtrl *)GetDlgItem(IDC_SLIDER_SPEED);
  59. m_pslide->SetRange(MIN_FPS,MAX_FPS);
  60. m_pslide->SetTicFreq(5);
  61. m_pslide->SetPos(m_iSpeed);
  62.  
  63. return TRUE;
  64. }
  65.  
  66. //-----------------
  67. BEGIN_MESSAGE_MAP(CSpeedDialog, CDialog)
  68.    ON_WM_HSCROLL()
  69. END_MESSAGE_MAP()
  70.  
  71. //-----------------
  72. afx_msg void CSpeedDialog::OnHScroll(UINT iSBCode, UINT iPos, CScrollBar *pSB)
  73. {
  74. // pSB must point to our slider ctrl
  75. if (pSB != (CScrollBar *)m_pslide) return;
  76. m_iSpeed = m_pslide->GetPos();
  77. }
  78.  
  79.  
  80. //===========================
  81. // CLevelDialog
  82.  
  83. //-----------------
  84. CLevelDialog::CLevelDialog(UINT id) : CDialog(id)
  85. {
  86. m_pspin = NULL;
  87. m_iLevel = 1;
  88. }
  89.  
  90. //-----------------
  91. BOOL CLevelDialog::OnInitDialog()
  92. {
  93. // Call base implementation
  94. CDialog::OnInitDialog();
  95.  
  96. m_pspin = (CSpinButtonCtrl *)GetDlgItem(IDC_SPIN_LEVEL);
  97. m_pspin->SetBuddy(GetDlgItem(IDC_EDIT1));
  98. m_pspin->SetRange(1,20);
  99. m_pspin->SetPos(m_iLevel);
  100.  
  101. return TRUE;
  102. }
  103.  
  104. //-----------------
  105. void CLevelDialog::OnOK()
  106. {
  107. m_iLevel = m_pspin->GetPos();
  108. EndDialog(IDOK);
  109. // Call base implementation
  110. /*CDialog::OnOK();*/
  111. }
  112.  
  113. //-----------------
  114. BEGIN_MESSAGE_MAP(CLevelDialog, CDialog)
  115. END_MESSAGE_MAP()
  116.  
  117.  
  118. //===========================
  119. // CHighScoreDialog
  120.  
  121. //-----------------
  122. CHighScoreDialog::CHighScoreDialog(UINT id) : CDialog(id)
  123. {
  124. m_plstScoreData = NULL;
  125. m_plbRank = m_plbName = m_plbScore = NULL;
  126. }
  127.  
  128. //-----------------
  129. BOOL CHighScoreDialog::OnInitDialog()
  130. {
  131. // Call base implementation
  132. CDialog::OnInitDialog();
  133.  
  134. m_plbRank = (CListBox*)GetDlgItem(IDC_LIST_RANK);
  135. m_plbName = (CListBox*)GetDlgItem(IDC_LIST_NAME);
  136. m_plbScore = (CListBox*)GetDlgItem(IDC_LIST_SCORE);
  137. char szTemp[32];
  138. for(int i=0; i < 10; i++)
  139.    {
  140.    sprintf(szTemp,"%2d:",i+1);
  141.    m_plbRank->AddString(szTemp);
  142.    m_plbName->AddString(m_plstScoreData->GetName(i));
  143.    sprintf(szTemp,"%5d",m_plstScoreData->GetScore(i));
  144.    m_plbScore->AddString(szTemp);
  145.    }
  146. return TRUE;
  147. }
  148.  
  149. //-----------------
  150. BEGIN_MESSAGE_MAP(CHighScoreDialog, CDialog)
  151. END_MESSAGE_MAP()
  152.  
  153.  
  154. //===========================
  155. // CNewHighScoreDialog
  156.  
  157. //-----------------
  158. CNewHighScoreDialog::CNewHighScoreDialog(UINT id) : CDialog(id)
  159. {
  160. m_pec = NULL;
  161. }
  162.  
  163. //-----------------
  164. BOOL CNewHighScoreDialog::OnInitDialog()
  165. {
  166. // Call base implementation
  167. CDialog::OnInitDialog();
  168.  
  169. m_pec = (CEdit*)GetDlgItem(IDC_EDIT_NAME);
  170. m_pec->SetWindowText(m_szName);
  171.  
  172. return TRUE;
  173. }
  174.  
  175. //-----------------
  176. void CNewHighScoreDialog::OnOK()
  177. {
  178. m_pec->GetWindowText(m_szName,15);
  179. EndDialog(IDOK);
  180. // Call base implementation
  181. /*CDialog::OnOK();*/
  182. }
  183.  
  184. //-----------------
  185. BEGIN_MESSAGE_MAP(CNewHighScoreDialog, CDialog)
  186. END_MESSAGE_MAP()
  187.  
  188.