在做MFC界面編輯中,有時候要做一個設置或修改界面供用戶對某一參數進行控制.這個時候就要用動滑動條了.
第一步:在對話框界面上添加滑動條和編輯框,並設置屬性.
假設這裡的滑動條為垂直的,則在屬性面板了找到Orientatin屬性修改為Vertical.
為滑動條創建控制變量 m_sd_oil.
假設編輯框的ID為IDC_ET_OIL.
第二步:初始化,設置滑動條的范圍和起始位置
[cpp]
BOOL CAVPage::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: Add extra initialization here
//油量
m_sd_oil.SetRange(0,10);
m_sd_oil.SetPos(0);
m_oil =10;
str.Format("%d L",m_oil);
((CEdit *)GetDlgItem(IDC_ET_OIL))->SetWindowText(str);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
第三步:響應拖動事件
[cpp]
void CAVPage::OnNMCustomdrawSdOil(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
// TODO: Add your control notification handler code here
int nPos =m_sd_oil.GetPos();
//顯示
CString str;
m_oil =10-nPos;
str.Format("%d L",m_oil);
SetDlgItemText(IDC_ET_OIL,str);
*pResult = 0;
}