MFC對話框的狀態欄添加進度條

1.新建任意對話框工程。

 

2.在對話框的C**Dlg.h文件中添加以下變量:

 

CStatusBar m_StatusBar;

 

類似於

 

3.在對話框的C**Dlg.cpp的OnInitDialog()初始化函數中添加以下代碼:

 

	UINT array[5];
	for (int i = 0; i < 5; i++)
	{
		array[i] = 100 + i;
	}
	m_StatusBar.Create(this);
	m_StatusBar.SetIndicators(array, sizeof(array) / sizeof(UINT));
	CRect rect;
	GetClientRect(rect);
	for (int n = 0; n < 3; n++)
	{
		m_StatusBar.SetPaneInfo(n, array[n], 0, rect.Width() / 8);
	}
	m_StatusBar.SetPaneInfo(3, array[3], 0, rect.Width() * 3 / 8);
	m_StatusBar.SetPaneInfo(4, array[4], 0, rect.Width() / 8);
	//設置面版文字
	m_StatusBar.SetPaneText(0, _T("當前用戶:"));
	m_StatusBar.SetPaneText(1, _T("autumoon"));
	m_StatusBar.SetPaneText(2, _T("總體進度:"));
	m_StatusBar.SetPaneText(4, _T(" Ready!"));
	RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0); //顯示狀態欄
	RECT m_rect;
	m_StatusBar.GetItemRect(3, &m_rect);
	m_ProgressState.SetParent(&m_StatusBar);
	m_ProgressState.MoveWindow(&m_rect);
	m_ProgressState.ShowWindow(SW_SHOW);
	m_ProgressState.SetRange(0, 100);
	m_ProgressState.SetPos(0);


4.F5運行。

 

效果:

 

如果你覺得我的文章有幫助,可以留言支持我。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章