www.pudn.com > uoth_src.zip > LevelInfoDlg.cpp
//----------------------------------------------------------------------------- // // @doc // // @module LevelInfoDlg.cpp - Level information dialog | // // This module contains the definition of the Level information dialog. // // Copyright (c) 2002 - Descartes Systems Sciences, Inc. // // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. // 2. Neither the name of Descartes Systems Sciences, Inc nor the names of // its contributors may be used to endorse or promote products derived // from this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // @end // // $History: LevelInfoDlg.cpp $ // //----------------------------------------------------------------------------- #include "stdafx.h" #include "resource.h" #include "LevelInfoDlg.h" #include "uoth.h" #include "Level.h" //----------------------------------------------------------------------------- // // @mfuncconstructor. // // @parm int | nLevel | Level number // // @rdesc None. // //----------------------------------------------------------------------------- CLevelInfoDlg::CLevelInfoDlg (int nLevel) { m_nLevel = nLevel; } //----------------------------------------------------------------------------- // // @mfunc destructor. // // @rdesc None. // //----------------------------------------------------------------------------- CLevelInfoDlg::~CLevelInfoDlg() { } //----------------------------------------------------------------------------- // // @mfunc Initialize the dialog // // @parm UINT | uMsg | Message // // @parm WPARAM | wParam | Message w-parameter // // @parm LPARAM | lParam | Message l-parameter // // @parm BOOL & | bHandled | If handled, set to true // // @rdesc Routine results // //----------------------------------------------------------------------------- LRESULT CLevelInfoDlg::OnInitDialog (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { // // Subclass the controls // m_edit = GetDlgItem (IDC_LEVEL_INFO); m_cbLevel = GetDlgItem (IDC_LEVEL_SELECT); // // Center the window // CenterWindow (); // // Populate the combo box // for (int il = 0; il < CLevel::gm_vLevels .GetCount (); ++il) { CLevel *pLevel = &CLevel::gm_vLevels [il]; if (!pLevel ->IsValid ()) continue; TCHAR szText [256]; _sntprintf (szText, _countof (szText), _T ( "%d - %s"), pLevel ->m_nIndex, (LPCTSTR) pLevel ->m_strName); m_cbLevel .AddString (szText); } // // Select a Level // if (m_nLevel >= 0) m_cbLevel .SetCurSel (m_nLevel - 1); else m_cbLevel .SetCurSel (0); // // Display // DisplayLevel (); return TRUE; } //----------------------------------------------------------------------------- // // @mfunc Display the Level information // // @rdesc None. // //----------------------------------------------------------------------------- void CLevelInfoDlg::DisplayLevel () { // // Get the Level number // m_nLevel = m_cbLevel .GetCurSel (); CString strLevel; m_cbLevel .GetLBText (m_nLevel, strLevel); m_nLevel = atol (strLevel); // // Populate the data // CString str = CLevel::gm_vLevels [m_nLevel] .GetInformation (false); m_edit .SetWindowText (str); return; }