如何在对话框上使用滚动条控件
1个回答
展开全部
一,新建一个基于对话框的工程Ex081122。
二,在上面增加一个滚动条控件,并为其关联一个控制型的变量m_scroll。
三,在CEx081122Dlg::OnInitDialog的初始化函数中加上如下代码:
m_scroll.SetScrollRange(0,100);
m_scroll.SetScrollPos(0);
四,利用类向导为主对话框增加WM_HSCROLL消息的响应函数。
void CEx081122Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
if(SB_LINERIGHT == nSBCode)
{//点击右键头
int iCurPos = pScrollBar->GetScrollPos();
pScrollBar->SetScrollPos(iCurPos+1);
CString strTitle ;
strTitle.Format("滚动条的值是:%d",iCurPos+1);
SetWindowText(strTitle);
}
else if( SB_THUMBPOSITION == nSBCode )
{//拖动
pScrollBar->SetScrollPos(nPos);
CString strTitle ;
strTitle.Format("滚动条的值是:%d",nPos);
SetWindowText(strTitle);
}
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
五,ctrl+F5是看运行效果。
二,在上面增加一个滚动条控件,并为其关联一个控制型的变量m_scroll。
三,在CEx081122Dlg::OnInitDialog的初始化函数中加上如下代码:
m_scroll.SetScrollRange(0,100);
m_scroll.SetScrollPos(0);
四,利用类向导为主对话框增加WM_HSCROLL消息的响应函数。
void CEx081122Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
if(SB_LINERIGHT == nSBCode)
{//点击右键头
int iCurPos = pScrollBar->GetScrollPos();
pScrollBar->SetScrollPos(iCurPos+1);
CString strTitle ;
strTitle.Format("滚动条的值是:%d",iCurPos+1);
SetWindowText(strTitle);
}
else if( SB_THUMBPOSITION == nSBCode )
{//拖动
pScrollBar->SetScrollPos(nPos);
CString strTitle ;
strTitle.Format("滚动条的值是:%d",nPos);
SetWindowText(strTitle);
}
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
五,ctrl+F5是看运行效果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询