home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / BC_502 / CMNCTRL.PAK / PROGCTRL.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1997-05-06  |  2.9 KB  |  119 lines

  1. // ProgCtrl.cpp : implementation file
  2. //
  3.  
  4. // This is a part of the Microsoft Foundation Classes C++ library.
  5. // Copyright (C) 1992-1995 Microsoft Corporation
  6. // All rights reserved.
  7. //
  8. // This source code is only intended as a supplement to the
  9. // Microsoft Foundation Classes Reference and related
  10. // electronic documentation provided with the library.
  11. // See these sources for detailed information regarding the
  12. // Microsoft Foundation Classes product.
  13.  
  14. #include "stdafx.h"
  15. #include "ctrldemo.h"
  16. #include "ProgCtrl.h"
  17.  
  18. #ifdef _DEBUG
  19. #undef THIS_FILE
  20. static char THIS_FILE[] = __FILE__;
  21. #endif
  22.  
  23. /////////////////////////////////////////////////////////////////////////////
  24. // CProgCtrlPage property page
  25.  
  26. IMPLEMENT_DYNCREATE(CProgCtrlPage, CPropertyPage)
  27.  
  28. #ifdef _DEBUG
  29. #define new DEBUG_NEW
  30. #endif
  31.  
  32. CProgCtrlPage::CProgCtrlPage() : CPropertyPage(CProgCtrlPage::IDD)
  33. {
  34.     //{{AFX_DATA_INIT(CProgCtrlPage)
  35.     m_iDelta = 0;
  36.     m_uiStep = 10;
  37.     m_uiRangeFrom = 0;
  38.     m_uiPos = 0;
  39.     m_uiRangeTo = 100;
  40.     //}}AFX_DATA_INIT
  41. }
  42.  
  43. CProgCtrlPage::~CProgCtrlPage()
  44. {
  45. }
  46.  
  47. void CProgCtrlPage::DoDataExchange(CDataExchange* pDX)
  48. {
  49.     CPropertyPage::DoDataExchange(pDX);
  50.     //{{AFX_DATA_MAP(CProgCtrlPage)
  51.     DDX_Control(pDX, IDC_PROGRESS, m_Progress);
  52.     DDX_Text(pDX, IDC_PROGRESS_DELTA, m_iDelta);
  53.     DDX_Text(pDX, IDC_PROGRESS_STEP, m_uiStep);
  54.     DDV_MinMaxUInt(pDX, m_uiStep, 0, 65535);
  55.     DDX_Text(pDX, IDC_PROGRESS_FROM, m_uiRangeFrom);
  56.     DDV_MinMaxUInt(pDX, m_uiRangeFrom, 0, 65535);
  57.     DDX_Text(pDX, IDC_PROGRESS_POS, m_uiPos);
  58.     DDV_MinMaxUInt(pDX, m_uiPos, 0, 65535);
  59.     DDX_Text(pDX, IDC_PROGRESS_TO, m_uiRangeTo);
  60.     DDV_MinMaxUInt(pDX, m_uiRangeTo, 0, 65535);
  61.     //}}AFX_DATA_MAP
  62. }
  63.  
  64. BOOL CProgCtrlPage::OnInitDialog()
  65. {
  66.     CPropertyPage::OnInitDialog();
  67.     m_Progress.SetRange( m_uiRangeFrom, m_uiRangeTo );
  68.     return TRUE;
  69. }
  70.  
  71. BEGIN_MESSAGE_MAP(CProgCtrlPage, CPropertyPage)
  72.     //{{AFX_MSG_MAP(CProgCtrlPage)
  73.     ON_BN_CLICKED(IDC_PROGRESS_STEPIT, OnProgressStepit)
  74.     ON_BN_CLICKED(IDC_SETPOS, OnSetpos)
  75.     ON_BN_CLICKED(IDC_PROGRESS_SETDELTA, OnProgressSetdelta)
  76.     ON_EN_KILLFOCUS(IDC_PROGRESS_FROM, OnFrom)
  77.     ON_EN_KILLFOCUS(IDC_PROGRESS_TO, OnTo)
  78.     ON_EN_KILLFOCUS(IDC_PROGRESS_STEP, OnStep)
  79.     //}}AFX_MSG_MAP
  80. END_MESSAGE_MAP()
  81.  
  82. /////////////////////////////////////////////////////////////////////////////
  83. // CProgCtrlPage message handlers
  84.  
  85. void CProgCtrlPage::OnProgressStepit() 
  86. {
  87.     m_Progress.StepIt();
  88. }
  89.  
  90. void CProgCtrlPage::OnSetpos() 
  91. {
  92.     UpdateData();
  93.     m_Progress.SetPos( m_uiPos );
  94. }
  95.  
  96. void CProgCtrlPage::OnProgressSetdelta() 
  97. {
  98.     UpdateData();
  99.     m_Progress.OffsetPos( m_iDelta );
  100. }
  101.  
  102. void CProgCtrlPage::OnFrom() 
  103. {
  104.     UpdateData();
  105.     m_Progress.SetRange( m_uiRangeFrom, m_uiRangeTo );
  106. }
  107.  
  108. void CProgCtrlPage::OnTo() 
  109. {
  110.     UpdateData();
  111.     m_Progress.SetRange( m_uiRangeFrom, m_uiRangeTo );
  112. }
  113.  
  114. void CProgCtrlPage::OnStep() 
  115. {
  116.     UpdateData();
  117.     m_Progress.SetStep( m_uiStep );
  118. }
  119.