進度條控制項
使用進度條顯示操作進度:
進度條控制項封裝在cprogressctrl類中。
1、setrange和setrange32方法用來設定進度條顯示範圍。
語法格式:
void setrange(short nlower, short nupper);
void setrange32(int nlower, int nupper);
nlower:最小值,預設0;
nupper:最大值。
setrange方法設定進度條範圍在短整型範圍,setrange32可在整數範圍。
2、設定進度條進度:setpos方法
int setpos(int npos);
npos:表示設定的新進度。返回值為之前的進度。
3、獲得進度條進度:getpos方法
int getpos();
返回值為當前顯示進度。
示例:靜態文字控制項變數:cstatic m_number;
進度條控制項變數:cprogressctrl m_progress;
按鈕單擊事件:onstart
void cprogressdemodlg::onstart()
;itoa(i, sznumber, 10);
m_number.setwindowtext(sznumber);}}
注:itoa方法:將整數轉化為字串
第三個引數:表示進製。(上例為十進位制)
滑塊控制項:
與進度條控制項使用類似:
setrange設定範圍
setpos設定進度
getpos獲得當前進度
使用示例:
picture控制項:框架型別
關聯變數:cstatic m_area;
文字框控制項關聯變數:
uint m_nrvalue;
uint m_ngvalue;
uint m_nbvalue;
進度條控制項關聯變數:
csliderctrl m_rslider;
csliderctrl m_gslider;
csliderctrl m_bslider;
1、為對話方塊類新增成員變數:colorref m_ccolor;
2、對話方塊初始化時:
m_rslider.setrange(0,255);
m_gslider.setrange(0,255);
m_bslider.setrange(0,255);
m_ccolor = rgb(0,0,0);
3、為對話方塊類新增wm_hscroll訊息響應函式,進度條滑動時就會響應。
(若是豎直進度條,則新增wm_vscroll響應函式)
void cpickcolordlg::onhscroll(uint nsbcode, uint npos, cscrollbar* pscrollbar)
if (pscrollbar->m_hwnd == m_gslider.m_hwnd)
if (pscrollbar->m_hwnd == m_bslider.m_hwnd)
}m_clcolor = rgb(m_nrvalue, m_ngvalue, m_nbvalue);
updatearea();
cdialog::onhscroll(nsbcode, npos, pscrollbar);
}4、上面提到的updatearea()函式,用於更新控制項區域的顏色顯示
需要在對話方塊類中新增成員函式:
public: void updatearea()
**如下:
void cpickcolordlg::updatearea()
5、onpaint()中也要新增updatearea();
6、為文字框控制項新增en_change訊息響應函式。(當更改文字框內容時,滑塊和picture控制項要做出相應響應)
**如下:
void cpickcolordlg::onchangebvalue()
void cpickcolordlg::onchangervalue()
void cpickcolordlg::onchangegvalue()
MFC控制項(三)(進度條控制項和滑塊控制項)
進度條控制項 使用進度條顯示操作進度 進度條控制項封裝在cprogressctrl類中。1 setrange和setrange32方法用來設定進度條顯示範圍。語法格式 void setrange short nlower,short nupper void setrange32 int nlower...
MFC控制項之進度條
這個是手工活,不多說。vs2008和vs2005可能沒有這個函式,需要手動新增,如果你不會新增,看看這裡吧。一般初始化就是設定控制項的範圍之類的。bool progressys oninitdialog void 例如本例是在按鈕新增的響應 void progressys onbnclickedbu...
進度條控制項
base.dispose disposing region windows 窗體設計器生成的 設計器支援所需的方法 不要 使用 編輯器修改此方法的內容。private void initializecomponent this.progressbar1 new system.windows.form...