如何让滚动条滑块大小与窗口尺寸同步变化

gamesuwei 2009-03-16 09:57:51
MDI程序 视图由于某种原因不能使用CScrollView 所以只能采用CVIEW。这样就需要自己设置滚动条。
在OnSize中应该如何实现让滚动条滑块大小与窗口尺寸同步变化呢?一直没法实现。

PS:顺带问个问题,SCROLLINFO 中的 nMax值 会不会因为在改变窗口大小是滚动条长度的改变而改变?
...全文
514 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gamesuwei 2009-03-17
  • 打赏
  • 举报
回复
没人~ 难道要浪费分数了?
gamesuwei 2009-03-17
  • 打赏
  • 举报
回复
哎~ 没人回帖吗?
gamesuwei 2009-03-17
  • 打赏
  • 举报
回复
继续问
为什么把 滚动条的最大长度设置成 m_scrollInfo.nMax = (int)(m_rect1.bottom);?
gamesuwei 2009-03-17
  • 打赏
  • 举报
回复
问下 eagerle01 m_rectInit 表示的是什么矩形框?
eagerle01 2009-03-17
  • 打赏
  • 举报
回复
void CDialogSet::OnSize(UINT nType, int cx, int cy) 
{
CDialog::OnSize(nType, cx, cy);

GetClientRect(&m_rect1);

m_scrollInfo.nPage = (int)m_rect1.bottom * m_rect1.bottom/m_rectInit.bottom;
m_scrollInfo.nMax = (int)(m_rect1.bottom);
m_ieveryPageLength = (int)(m_rectInit.bottom - m_rect1.bottom) /10+1;
m_istep = (m_rect1.bottom - m_scrollInfo.nPage)/10;

SetScrollInfo(SB_VERT,&m_scrollInfo,SIF_ALL);
}


以前我写的,试试把
zhengwei_00a 2009-03-17
  • 打赏
  • 举报
回复
setwindowpos试试,获得滑块的句柄,根据窗口的大小调用setwindowpos来改变滑块的大小
叶落寒山 2009-03-17
  • 打赏
  • 举报
回复

CRect rect;
CSize sizeTotal;
CClientDC dc(this);
GetClientRect(rect);
sizeTotal.cx = rect.right;
sizeTotal.cy = rect.bottom;
SetScrollSizes(MM_TEXT, sizeTotal);
Invalidate(FALSE);



不会改变
gamesuwei 2009-03-16
  • 打赏
  • 举报
回复
没人么? 啊 啊 急啊~

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧