1999/09/21 - スクロールバー

スクロールバーを自分でくっつける方法。

CRect rect;
GetClientRect(&rect);
m_scrollBar.Create(WS_VISIBLE | WS_CHILD | SBS_RIGHTALIGN | SBS_VERT, rect, this, 0);
m_scrollBar.SetScrollRange(0,100,FALSE);
m_scrollBar.SetScrollPos(0,TRUE);

だが,CView::OnInitialUpdate でやるとステータスバー領域とかが反映されない。これはステータスバーが作成される前に行われるからで,OnSize で設定し直せばよい。


スクロールバーのつまみのサイズが一定になっている。ファイルが小さいときはつまみが大きくなって欲しいのだ。かなり悩んだが,CWnd::SetScrollInfo の SCROLLINFO::nPos で設定できた。

コメントする