ProgressStatusCtrl.cpp
资源名称:FTP总集.rar [点击查看]
上传用户:tjfeida
上传日期:2013-03-10
资源大小:1917k
文件大小:4k
源码类别:
Ftp客户端
开发平台:
Visual C++
- // ProgressStatusCtrl.cpp : implementation file
- //
- /*********************************************
- **该文件是属于WolfFTP工程中的。如果有什么问题
- **请联系
- ** tablejiang@21cn.com
- **或者访问
- ** http://wolfftp.51.net
- **以得到最新的支持。
- *********************************************/
- #include "stdafx.h"
- #include "ProgressStatusCtrl.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CProgressStatusCtrl
- CProgressStatusCtrl::CProgressStatusCtrl()
- {
- }
- CProgressStatusCtrl::~CProgressStatusCtrl()
- {
- }
- BEGIN_MESSAGE_MAP(CProgressStatusCtrl, CStatusBarCtrl)
- //{{AFX_MSG_MAP(CProgressStatusCtrl)
- ON_WM_CREATE()
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CProgressStatusCtrl message handlers
- int CProgressStatusCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
- {
- if (CStatusBarCtrl ::OnCreate(lpCreateStruct) == -1)
- return -1;
- // TODO: Add your specialized creation code here
- RECT rect ;
- SetRect( &rect , 0 , 0 , 0 , 0 ) ;
- m_ProCtrl.Create( PBS_SMOOTH | WS_CHILD | WS_VISIBLE ,rect , this , 0x323 ) ;
- m_DisCtrl.Create( "" , SS_RIGHT | WS_CHILD |WS_VISIBLE
- , rect , this , 0x324 ) ;
- m_Speed.Create( " k/s" , SS_RIGHT | WS_CHILD |WS_VISIBLE
- , rect , this , 0x225 ) ;
- SetProgressRange( 0 , 100 ) ;
- SetPos( 0 ) ;
- return 0;
- }
- /****************************************************
- ** @Description
- **
- **
- ** @Parameter
- **
- **
- ** @Return:
- ** @Author: JHM
- ** e-mail: tablejiang@21cn.com
- ** @Date: 2001 3 26
- ****************************************************/
- BOOL CProgressStatusCtrl::SetControlPos(int iLength)
- {
- RECT rect ;
- if( iLength > 200 )
- {
- SetRect( &rect , iLength - CTRL_OFFSET - CTRL_PROGRESS_LENGTH , 3 ,
- iLength - CTRL_OFFSET , 18 ) ;
- m_ProCtrl.MoveWindow( &rect ) ;
- SetRect( &rect , iLength - CTRL_OFFSET - CTRL_PROGRESS_LENGTH - 350 , 3 ,
- iLength - CTRL_OFFSET - CTRL_PROGRESS_LENGTH - 20 , 16 ) ;
- m_DisCtrl.MoveWindow( &rect ) ;
- SetRect( &rect , iLength - CTRL_OFFSET + 10 , 3 , iLength - CTRL_OFFSET + 80 , 18 ) ;
- m_Speed.MoveWindow( &rect ) ;
- }
- else
- {
- SetRect( &rect , 0 , 0 , 0 , 0 ) ;
- m_ProCtrl.MoveWindow( &rect ) ;
- m_DisCtrl.MoveWindow( &rect ) ;
- m_Speed.MoveWindow( &rect ) ;
- }
- return true ;
- }
- /****************************************************
- ** @Description
- **
- **
- ** @Parameter
- **
- **
- ** @Return:
- ** @Author: JHM
- ** e-mail: tablejiang@21cn.com
- ** @Date: 2001 3 26
- ****************************************************/
- void CProgressStatusCtrl::SetDisplayString(LPCTSTR szString)
- {
- m_DisCtrl.SetWindowText( szString ) ;
- }
- /****************************************************
- ** @Description
- **
- **
- ** @Parameter
- **
- **
- ** @Return:
- ** @Author: JHM
- ** e-mail: tablejiang@21cn.com
- ** @Date: 2001 3 26
- ****************************************************/
- BOOL CProgressStatusCtrl::SetPos(int iPos)
- {
- return m_ProCtrl.SetPos( iPos ) ;
- }
- /****************************************************
- ** @Description
- **
- **
- ** @Parameter
- **
- **
- ** @Return:
- ** @Author: JHM
- ** e-mail: tablejiang@21cn.com
- ** @Date: 2001 3 26
- ****************************************************/
- BOOL CProgressStatusCtrl::SetProgressRange(int iStart, int iEnd)
- {
- m_ProCtrl.SetRange( iStart , iEnd ) ;
- return true ;
- }
- /****************************************************
- ** @Description
- **
- **
- ** @Parameter
- **
- **
- ** @Return:
- ** @Author: JHM
- ** e-mail: tablejiang@21cn.com
- ** @Date: 2001 3 26
- ****************************************************/
- BOOL CProgressStatusCtrl::SetSpeed(int iSpeed)
- {
- char szSpeed[MAX_PATH] ;
- char szDisplay[MAX_PATH] ;
- int iNum = iSpeed / 1024 ;
- itoa( iNum , szSpeed , 10 ) ;
- sprintf( szDisplay , "%s k/s" , szSpeed ) ;
- m_Speed.SetWindowText( szDisplay ) ;
- return true ;
- }