⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 statusbarwithprogress.h

📁 C++编程实践与技巧一书各章节的源码
💻 H
字号:
//---------------------------------------------------------------------------
//初始状态下,状态条中的进度条隐藏, 
//可以调用ShowProgress成员函数来使其显示
//当进度条可见时,它位于状态条最左边文字面板的右边

class CStatusBarWithProgress:public CStatusBar
{
    DECLARE_DYNCREATE(CStatusBarWithProgress)

//数据成员
protected:
    CProgressCtrl m_Progress;//进度条控件
    int           m_nProgressWidth;//进度条宽度
    BOOL          m_bProgressVisible;//标识进度条是否可见

// Construction
public:
    CStatusBarWithProgress(int nProgressBarWidth =100);
    virtual BOOL Create(CWnd *pParentWnd, DWORD dwStyle =WS_CHILD | WS_VISIBLE | CBRS_BOTTOM, UINT nID =AFX_IDW_STATUS_BAR);

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CStatusBarWithProgress)
	//}}AFX_VIRTUAL

// Implementation
public:
	//返回值标识进度条是否可见
    BOOL IsProgressBarVisible() const     { return m_bProgressVisible; }
	//设置进度条宽度
    void SetProgressBarWidth(int nWidth)  { m_nProgressWidth =nWidth;  }
	//设置是否显示进度条,参数为TRUE则显示
    BOOL ShowProgressBar(BOOL bShow =TRUE);
	//设置进度条大小范围
    void SetRange(int nLower, int nUpper) { m_Progress.SetRange(nLower,nUpper); }
	//设置进度条滑块位置
    int  SetPos(int nPos)                 { return m_Progress.SetPos(nPos);     }
	//进度条前进参数nPos设置的大小
    int  OffsetPos(int nPos)              { return m_Progress.OffsetPos(nPos);  }
	//设置进度条前进间隔大小
    int  SetStep(int nStep)               { return m_Progress.SetStep(nStep);   }
	//进度条滑块前进一个间隔
    int  StepIt()                         { return m_Progress.StepIt();         }

// Helpers
private:
    void AdjustProgressBarPosition();

// Generated message map functions
protected:
	//{{AFX_MSG(CStatusBarWithProgress)
	afx_msg void OnSize(UINT nType, int cx, int cy);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
};



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -