home *** CD-ROM | disk | FTP | other *** search
/ Freelog 54 / Freelog054.iso / Bas / Détente / WinPenguins / winpenguinsDlg.cpp < prev    next >
C/C++ Source or Header  |  2001-04-19  |  5KB  |  192 lines

  1. /**
  2.  * $Id: winpenguinsDlg.cpp,v 1.5 2001/04/19 19:16:16 mvines Exp $
  3.  *
  4.  *  Copyright (C) 2000  Michael Vines
  5.  *
  6.  *  This program is free software; you can redistribute it and/or modify
  7.  *  it under the terms of the GNU General Public License as published by
  8.  *  the Free Software Foundation; either version 2 of the License, or
  9.  *  (at your option) any later version.
  10.  *
  11.  *  This program is distributed in the hope that it will be useful,
  12.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  *  GNU General Public License for more details.
  15.  *
  16.  *  You should have received a copy of the GNU General Public License
  17.  *  along with this program; if not, write to the Free Software
  18.  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  19.  *
  20.  *  As a special exception, Michael Vines gives permission to link this program
  21.  *  with the Microsoft Visual C++ Runtime/MFC Environment, and distribute the
  22.  *  resulting executable, without including the source code for the Microsoft 
  23.  *  Visual C++ Runtime/MFC Environment in the source distribution
  24.  */
  25.  
  26. #include "stdafx.h"
  27. #include "winpenguins.h"
  28. #include "winpenguinsDlg.h"
  29. #include "MainWnd.h"
  30. #include "screen_capture.h"
  31.  
  32. #ifdef _DEBUG
  33. #define new DEBUG_NEW
  34. #undef THIS_FILE
  35. static char THIS_FILE[] = __FILE__;
  36. #endif
  37.  
  38.  
  39. CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
  40. {
  41.     //{{AFX_DATA_INIT(CAboutDlg)
  42.     //}}AFX_DATA_INIT
  43. }
  44.  
  45. BOOL CAboutDlg::OnInitDialog()
  46. {
  47.     (void) CDialog::OnInitDialog();
  48.  
  49.   urlStatic.Create(this, IDC_STATIC_URL);
  50.  
  51.     CWnd *gplEdit = GetDlgItem(IDC_GPL);
  52.     CString gplText;
  53.  
  54.     gplText.LoadString(IDS_GPL);
  55.     gplEdit->SetWindowText(gplText);
  56.  
  57.     SetForegroundWindow();
  58.     return true;
  59. }
  60.  
  61.  
  62. void CAboutDlg::DoDataExchange(CDataExchange* pDX)
  63. {
  64.     CDialog::DoDataExchange(pDX);
  65.     //{{AFX_DATA_MAP(CAboutDlg)
  66.     //}}AFX_DATA_MAP
  67. }
  68.  
  69. BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
  70.     //{{AFX_MSG_MAP(CAboutDlg)
  71.     ON_WM_LBUTTONDBLCLK()
  72.     //}}AFX_MSG_MAP
  73. END_MESSAGE_MAP()
  74.  
  75.  
  76.  
  77.  
  78.  
  79. void CAboutDlg::OnLButtonDblClk(UINT nFlags, CPoint point) 
  80. {
  81.     CDialog::OnLButtonDblClk(nFlags, point);
  82.  
  83. //    CAnimateCtrl *ani = (CAnimateCtrl*)GetDlgItem(IDC_ANIWALKER);
  84. //    ani->Open(penguinRes[rand()%PENGUIN_COUNT]);
  85. }
  86.  
  87.  
  88.  
  89.  
  90. /////////////////////////////////////////////////////////////////////////////
  91. // CWinpenguinsDlg dialog
  92.  
  93. CWinpenguinsDlg::CWinpenguinsDlg(CWnd* pParent /*=NULL*/)
  94.     : CDialog(CWinpenguinsDlg::IDD, pParent)
  95. {
  96.     //{{AFX_DATA_INIT(CWinpenguinsDlg)
  97.     m_pcount = 0;
  98.     m_delay = 0;
  99.   m_alpha = 255;
  100.   m_santa = 10;
  101.     m_soundenabled = 0;
  102.     //}}AFX_DATA_INIT
  103.     // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
  104.     m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  105. }
  106.  
  107. void CWinpenguinsDlg::DoDataExchange(CDataExchange* pDX)
  108. {
  109.     CDialog::DoDataExchange(pDX);
  110.     //{{AFX_DATA_MAP(CWinpenguinsDlg)
  111.     DDX_Slider(pDX, IDC_PCOUNT, m_pcount);
  112.     DDX_Slider(pDX, IDC_SPEED, m_delay);
  113.     DDX_Slider(pDX, IDC_SPLAT, m_splat);
  114.     DDX_Slider(pDX, IDC_ALPHA, m_alpha);
  115.     DDX_Slider(pDX, IDC_SANTA, m_santa);
  116.     DDX_Check(pDX, IDC_SOUNDENABLED, m_soundenabled);
  117.     //}}AFX_DATA_MAP
  118. }
  119.  
  120. BEGIN_MESSAGE_MAP(CWinpenguinsDlg, CDialog)
  121.     //{{AFX_MSG_MAP(CWinpenguinsDlg)
  122.     ON_BN_CLICKED(IDAPPLY, OnApply)
  123.     //}}AFX_MSG_MAP
  124. END_MESSAGE_MAP()
  125.  
  126.  
  127. /////////////////////////////////////////////////////////////////////////////
  128. // CWinpenguinsDlg message handlers
  129.  
  130. BOOL CWinpenguinsDlg::OnInitDialog()
  131. {
  132.     CDialog::OnInitDialog();
  133.  
  134.     // Set the icon for this dialog.  The framework does this automatically
  135.     //  when the application's main window is not a dialog
  136.     SetIcon(m_hIcon, TRUE);            // Set big icon
  137.     SetIcon(m_hIcon, FALSE);        // Set small icon
  138.  
  139.     SetForegroundWindow();
  140.  
  141.     CSliderCtrl *p = (CSliderCtrl*)GetDlgItem(IDC_PCOUNT);
  142.     p->SetRange(1, MAX_TOON_COUNT);
  143.     p->SetTicFreq(5);
  144.     p->SetPos(m_pcount);
  145.     p->UpdateWindow();
  146.  
  147.     p = (CSliderCtrl*)GetDlgItem(IDC_SPEED);
  148.     p->SetRange(0, MAX_MOVE_DELAY);
  149.     p->SetTicFreq(10);
  150.     p->SetPos(m_delay);
  151.     p->UpdateWindow();
  152.  
  153.  
  154.     RECT disp;
  155.     ::GetWindowRect(::GetDesktopWindow(), &disp);
  156.  
  157.     p = (CSliderCtrl*)GetDlgItem(IDC_SPLAT);
  158.     p->SetRange(0, disp.bottom);
  159.     p->SetTicFreq(100);
  160.     p->SetPos(m_splat);
  161.     p->UpdateWindow();
  162.  
  163.  
  164.   p = (CSliderCtrl*)GetDlgItem(IDC_ALPHA);
  165.     p->SetRange(0, 255);
  166.     p->SetTicFreq(32);
  167.     p->SetPos(m_alpha);
  168.     p->UpdateWindow();
  169.  
  170.   p = (CSliderCtrl*)GetDlgItem(IDC_SANTA);
  171.     p->SetRange(0, 100);
  172.     p->SetTicFreq(10);
  173.     p->SetPos(m_santa);
  174.     p->UpdateWindow();
  175.  
  176.  
  177.   CButton *b = (CButton*)GetDlgItem(IDC_SOUNDENABLED);
  178.     b->SetCheck(m_soundenabled);
  179.   
  180.  
  181.     return TRUE;  // return TRUE  unless you set the focus to a control
  182. }
  183.  
  184.  
  185. void CWinpenguinsDlg::OnApply() 
  186. {
  187.     UpdateData(TRUE);
  188.     ((CMainWnd*)theApp.m_pMainWnd)->ApplyOptions(this);
  189. }
  190.  
  191.  
  192.