3个回答
展开全部
获取文本位置nCurpos
pScrollBar->SetScrollPos(nCurpos); 培桥 腊改 // 更新滑块
其中,pScrollBar是滚动条指针
上述代配局猛码需要在OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)函数中书写
更多追问追答
追问
OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)函数怎么添加到MyDlg.CPP中呢?
希望大侠给个详细的编程过程。谢谢。
追答
首先,需要在消息映射中添加如下代码
BEGIN_MESSAGE_MAP(YUVviewerDlg, CDialog)
ON_WM_HSCROLL()
END_MESSAGE_MAP()
其次,由于该事件不会随着控件的双击,而自动生成,你必须自己写,在你说的MyDlg.cpp文件中函数体如下:
void MyDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
pScrollBar->GetScrollRange(&nMin, &nMax); // 滚动条范围
nCurpos = pScrollBar->GetScrollPos(); // 当前值
//获取文本位置nCurpos
pScrollBar->SetScrollPos(nCurpos); // 更新滑块
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
UpdateData(FALSE);
}
先试一试吧
展开全部
m_edit.LineScroll(m_edit.GetLineCount());/逗喊槐/滚动条置底
m_edit是EDIT的控制型变量,参数int型为滚动到第几行山友渗桥。
m_edit是EDIT的控制型变量,参数int型为滚动到第几行山友渗桥。
追问
如何设置或者读取滚动条的大小呢?
追答
int nVertPos = GetDlgItem(IDC_EDIT1)->GetScrollPos(SB_VERT);获取当前垂直滚动条的位置,大小是edit默认的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以对话框工程为信档侍例:
// .h
protected:
HICON m_hIcon;
int m_sbVertLen;
int m_sbHorzLen;
// cpp
// TODO: Add extra initialization here
CRect rc;
GetClientRect(&rc);
m_sbVertLen=rc.Height()-20;// sb width
m_sbHorzLen=rc.Width()-20; // sb height
SetScrollRange(SB_VERT, 0, 0);
SetScrollRange(SB_HORZ, 0, 0);
/蠢枝/
void CCheckCursorDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
CRect rc;
GetClientRect(&rc);
int vert=m_sbVertLen-rc.Height();
int horz=m_sbHorzLen-rc.Width();
SetScrollRange(SB_VERT, 0, vert >滑吵0 ? vert: 0);
SetScrollRange(SB_HORZ, 0, horz >0 ? horz: 0);
}
// .h
protected:
HICON m_hIcon;
int m_sbVertLen;
int m_sbHorzLen;
// cpp
// TODO: Add extra initialization here
CRect rc;
GetClientRect(&rc);
m_sbVertLen=rc.Height()-20;// sb width
m_sbHorzLen=rc.Width()-20; // sb height
SetScrollRange(SB_VERT, 0, 0);
SetScrollRange(SB_HORZ, 0, 0);
/蠢枝/
void CCheckCursorDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
CRect rc;
GetClientRect(&rc);
int vert=m_sbVertLen-rc.Height();
int horz=m_sbHorzLen-rc.Width();
SetScrollRange(SB_VERT, 0, vert >滑吵0 ? vert: 0);
SetScrollRange(SB_HORZ, 0, horz >0 ? horz: 0);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询