home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / cdgtst / cdigitst.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1998-12-10  |  3.1 KB  |  141 lines

  1. // CDigitST_demoDlg.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "CDigitST_demo.h"
  6. #include "CDigitST_demoDlg.h"
  7.  
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13.  
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CCDigitST_demoDlg dialog
  16.  
  17. CCDigitST_demoDlg::CCDigitST_demoDlg(CWnd* pParent /*=NULL*/)
  18.     : CDialog(CCDigitST_demoDlg::IDD, pParent)
  19. {
  20.     //{{AFX_DATA_INIT(CCDigitST_demoDlg)
  21.         // NOTE: the ClassWizard will add member initialization here
  22.     //}}AFX_DATA_INIT
  23.     m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  24.  
  25.     m_bRunning = FALSE;
  26. }
  27.  
  28.  
  29. void CCDigitST_demoDlg::DoDataExchange(CDataExchange* pDX)
  30. {
  31.     CDialog::DoDataExchange(pDX);
  32.     //{{AFX_DATA_MAP(CCDigitST_demoDlg)
  33.         // NOTE: the ClassWizard will add DDX and DDV calls here
  34.     //}}AFX_DATA_MAP
  35. }
  36.  
  37. BEGIN_MESSAGE_MAP(CCDigitST_demoDlg, CDialog)
  38.     //{{AFX_MSG_MAP(CCDigitST_demoDlg)
  39.     ON_BN_CLICKED(IDC_ZEROPAD, OnZeroPad)
  40.     ON_BN_CLICKED(IDB_ABOUT, OnAbout)
  41.     ON_WM_TIMER()
  42.     ON_BN_CLICKED(IDC_RESETPARTIAL, OnResetPartial)
  43.     ON_BN_CLICKED(IDC_GO, OnGo)
  44.     ON_WM_DESTROY()
  45.     //}}AFX_MSG_MAP
  46. END_MESSAGE_MAP()
  47.  
  48. /////////////////////////////////////////////////////////////////////////////
  49. // CCDigitST_demoDlg message handlers
  50.  
  51. BOOL CCDigitST_demoDlg::OnInitDialog()
  52. {
  53.     CDialog::OnInitDialog();
  54.  
  55.     SetIcon(m_hIcon, TRUE);            // Set big icon
  56.     SetIcon(m_hIcon, FALSE);        // Set small icon
  57.  
  58.     // Create IDC_DIGIT_SPEED control
  59.     m_dgtSpeed.SubclassDlgItem(IDC_DIGIT_SPEED, this);
  60.     m_dgtSpeed.SetStyle(IDB_BIG1, 5);
  61.     m_dgtSpeed.SetValue(0);
  62.  
  63.     // Create IDC_DIGIT_TOTALKM control
  64.     m_dgtTotal.SubclassDlgItem(IDC_DIGIT_TOTALKM, this);
  65.     m_dgtTotal.SetStyle(IDB_SMALL1, 6);
  66.     m_dgtTotal.SetValue(1055);
  67.  
  68.     // Create IDC_DIGIT_PARTIALKM control
  69.     m_dgtPartial.SubclassDlgItem(IDC_DIGIT_PARTIALKM, this);
  70.     m_dgtPartial.SetStyle(IDB_SMALL2, 5);
  71.     m_dgtPartial.SetValue(0);
  72.     // Show zeroes
  73.     m_dgtPartial.SetZeroPadding(TRUE);
  74.  
  75.     // Write class version
  76.     CString sVersion;
  77.     sVersion.Format("CDigitST v%s", CDigitST::GetVersionC());
  78.     SetWindowText(sVersion);
  79.  
  80.     return TRUE;
  81. } // End of OnInitDialog
  82.  
  83.  
  84. void CCDigitST_demoDlg::OnZeroPad() 
  85. {
  86.     m_dgtTotal.SetZeroPadding(!m_dgtTotal.GetZeroPadding());    
  87. } // End of OnZeroPad
  88.  
  89.  
  90. void CCDigitST_demoDlg::OnAbout() 
  91. {
  92.     CAboutDlg about;
  93.  
  94.     about.DoModal();    
  95. } // End of OnAbout
  96.  
  97.  
  98. void CCDigitST_demoDlg::OnTimer(UINT nIDEvent) 
  99. {
  100.     if (nIDEvent == 1)
  101.     {
  102.         m_dgtTotal.Inc();
  103.         m_dgtPartial.Inc();
  104.     }
  105.     else
  106.     CDialog::OnTimer(nIDEvent);
  107. } // End of OnTimer
  108.  
  109.  
  110. void CCDigitST_demoDlg::OnResetPartial() 
  111. {
  112.     m_dgtPartial.SetValue(0);    
  113. } // End of OnResetPartial
  114.  
  115.  
  116. void CCDigitST_demoDlg::OnGo() 
  117. {
  118.     m_bRunning ^= TRUE;
  119.     
  120.     if (m_bRunning == TRUE)
  121.     {
  122.         SetTimer(1, 250, NULL);
  123.         m_dgtSpeed.SetValue(90);
  124.         SetDlgItemText(IDC_GO, "Stop moving!");
  125.     }
  126.     else
  127.     {
  128.         KillTimer(1);
  129.         m_dgtSpeed.SetValue(0);
  130.         SetDlgItemText(IDC_GO, "Go somewhere");
  131.     }
  132. } // End of OnGo
  133.  
  134.  
  135. void CCDigitST_demoDlg::OnDestroy() 
  136. {
  137.     KillTimer(1);    
  138.  
  139.     CDialog::OnDestroy();
  140. } // End of OnDestroy
  141.