代码改变世界

Win32 控件篇(6)

  Clingingboy  阅读(1522)  评论(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 如何在列表控件中插入行

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2007-03-21 asp.net控件开发基础(22)
点击右上角即可分享
微信分享提示