代码改变世界

Win32 控件篇(6)

2011-03-21 11:07  Clingingboy  阅读(1490)  评论(0编辑  收藏  举报

 

6.27 如何使用进度条

初始化(CProgressCtrl)

SetDlgItemText(IDC_EDIT, _T("0%"));

//设置进度条的范围
m_ctrlProgress.SetRange(0, 100);
//设置进度条的每一步的增量
m_ctrlProgress.SetStep(10);
//设置进度条的当前位置
m_ctrlProgress.SetPos(0);

测试:

void CDemoDlg::OnTest() 
{
    //获得进度条的位置范围的最小值和最大值
    int nLower = 0;
    int nUpper = 0; 
    m_ctrlProgress.GetRange(nLower, nUpper);

    if (m_ctrlProgress.GetPos() == nUpper)
    {
        m_ctrlProgress.SetPos(nLower);
    }

    //用每一步的增量来增加进度条的当前位置
    m_ctrlProgress.StepIt();                    

    //获得进度条的当前位置
    int nPos = (m_ctrlProgress.GetPos() - nLower) * 100 / (nUpper - nLower);

    CString strText = _T("");
    strText.Format(_T("%d%"), nPos);
    SetDlgItemText(IDC_EDIT, strText);
}

 

6.28 如何使用滑块

初始化 CSliderCtrl

//设置滑块的位置的最大值和最小值
m_ctrlSlider.SetRange(0, 100);
//设置滑块的当前位置
m_ctrlSlider.SetPos(50);    

拖拉Slider时的事件

void CDemoDlg::OnCustomdrawSlider(NMHDR* pNMHDR, LRESULT* pResult) 
{
    //获得滑块的当前位置
    int nPos = m_ctrlSlider.GetPos();

    CString strText = _T("");
    strText.Format(_T("%d"), nPos);
    SetDlgItemText(IDC_EDIT, strText);
}

 

6.29 如何使用旋转按钮

CSpinButtonCtrl

//设置旋转按钮的位置范围
m_ctrlSpinButton.SetRange(-100, 100);
//设置旋转按钮的当前位置
m_ctrlSpinButton.SetPos(0);
//设置旋转按钮的当前基数
m_ctrlSpinButton.SetBase(1);
//设置旋转按钮的伙伴窗口            
m_ctrlSpinButton.SetBuddy(GetDlgItem(IDC_EDIT));


image

6.30 如何在列表控件中插入列

 

6.31 如何在列表控件中插入行