ProgressDlg.h
上传用户:hmc_gdtv
上传日期:2013-08-04
资源大小:798k
文件大小:3k
源码类别:

Windows Mobile

开发平台:

Visual C++

  1. /*
  2.  * Copyright (c) 2001,2002,2003 Mike Matsnev.  All Rights Reserved.
  3.  *
  4.  * Redistribution and use in source and binary forms, with or without
  5.  * modification, are permitted provided that the following conditions
  6.  * are met:
  7.  *
  8.  * 1. Redistributions of source code must retain the above copyright
  9.  *    notice immediately at the beginning of the file, without modification,
  10.  *    this list of conditions, and the following disclaimer.
  11.  * 2. Redistributions in binary form must reproduce the above copyright
  12.  *    notice, this list of conditions and the following disclaimer in the
  13.  *    documentation and/or other materials provided with the distribution.
  14.  * 3. Absolutely no warranty of function or purpose is made by the author
  15.  *    Mike Matsnev.
  16.  *
  17.  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  18.  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  19.  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  20.  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  21.  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  22.  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  23.  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  24.  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  25.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  26.  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27.  * 
  28.  * $Id: ProgressDlg.h,v 1.11.2.1 2003/04/12 22:52:33 mike Exp $
  29.  * 
  30.  */
  31. #if !defined(AFX_PROGRESSDLG_H__D12B829A_6B89_4FA7_A77F_7C51E76560E4__INCLUDED_)
  32. #define AFX_PROGRESSDLG_H__D12B829A_6B89_4FA7_A77F_7C51E76560E4__INCLUDED_
  33. #if _MSC_VER >= 1000
  34. #pragma once
  35. #endif // _MSC_VER >= 1000
  36. /////////////////////////////////////////////////////////////////////////////
  37. // CProgressDlg dialog
  38. #include "TextParser.h"
  39. class CProgressDlg : public CDialog, public TextParser::Meter
  40. {
  41. // Construction
  42. public:
  43.   CProgressDlg(const CString& msg,CWnd* pParent = NULL);   // standard constructor
  44.   virtual void SetMax(DWORD max);
  45.   virtual void SetCur(DWORD cur);
  46.   // Dialog Data
  47.   //{{AFX_DATA(CProgressDlg)
  48.   enum { IDD = IDD_PROGRESS };
  49.   // NOTE: the ClassWizard will add data members here
  50.   //}}AFX_DATA
  51.   
  52.   
  53.   // Overrides
  54.   // ClassWizard generated virtual function overrides
  55.   //{{AFX_VIRTUAL(CProgressDlg)
  56. protected:
  57.   virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  58.   //}}AFX_VIRTUAL
  59.   
  60.   // Implementation
  61. protected:
  62.   enum { MAXSAMP=128 };
  63.   CString   m_msg;
  64.   DWORD   m_last;
  65.   DWORD   m_starttime;
  66.   DWORD   m_samples[2*MAXSAMP];
  67.   DWORD   m_tail;
  68.   DWORD   m_nsamp;
  69.   DWORD   m_curbytes;
  70.   DWORD   m_lastbytes;
  71.   DWORD   m_lastupdate;
  72.   bool   m_visible;
  73.   // Generated message map functions
  74.   //{{AFX_MSG(CProgressDlg)
  75.   virtual BOOL OnInitDialog();
  76.   //}}AFX_MSG
  77.   afx_msg void OnSettingChange(UINT uFlags,LPCTSTR lpszSection);
  78.   DECLARE_MESSAGE_MAP()
  79. };
  80. //{{AFX_INSERT_LOCATION}}
  81. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  82. #endif // !defined(AFX_PROGRESSDLG_H__D12B829A_6B89_4FA7_A77F_7C51E76560E4__INCLUDED_)