Click here to Skip to main content
15,896,201 members
Articles / Desktop Programming / MFC

FTP Wanderer - FTP Client using WININET

Rate me:
Please Sign up or sign in to vote.
4.85/5 (49 votes)
30 Jul 20023 min read 309.1K   19.7K   112  
This article presents a fully functional implementation of a FTP client.
#ifndef __PROGRESSDLG_H__
#define __PROGRESSDLG_H__

#include "resource.h"
class CProgressDlg : public CDialog
{
// Construction / Destruction
public:
	UINT m_nAnimationID;
	void SetWindowTitle(LPCTSTR lpszText);
    CProgressDlg(UINT nCaptionID = 0);   // standard constructor
    ~CProgressDlg();

    BOOL Create(CWnd *pParent=NULL, HANDLE hEventKill = NULL);

    // Checking for Cancel button
    // Progress Dialog manipulation
    void SetStatus(LPCTSTR lpszMessage);
	void SetSecondStatus(LPCTSTR lpszMessage);
	void SetUpper(unsigned int nUpper);
    void SetPos(unsigned int so_far);
        
// Dialog Data
    //{{AFX_DATA(CProgressDlg)
	enum { IDD = IDD_PROGRESS };
	CAnimateCtrl	m_AnimateCtrl;
    CProgressCtrl	m_Progress;
	//}}AFX_DATA

// Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CProgressDlg)
    public:
    virtual BOOL DestroyWindow();
    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    //}}AFX_VIRTUAL

// Implementation
protected:
	CString m_strTitle;
	int m_nLower;
    int m_nUpper;
    int m_nStep;
    
    BOOL m_bCancel;
    BOOL m_bParentDisabled;
	
	HANDLE m_hEventKill;

    void ReEnableParent();

    virtual void OnCancel();
    virtual void OnOK() {}; 
    void UpdatePercent(int nCurrent);
    void PumpMessages();

    // Generated message map functions
    //{{AFX_MSG(CProgressDlg)
    virtual BOOL OnInitDialog();
	afx_msg void OnDestroy();
	//}}AFX_MSG
    DECLARE_MESSAGE_MAP()
};

#endif // __PROGRESSDLG_H__

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Netherlands Netherlands
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions