水平スクロールバーが初期位置から動かせません。
コードは以下のよう書きました。
どなたかアドバイスをお願いします。(XP,.net 2003)
BOOL CScrollDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO : ここに初期化を追加してください
CDialog::OnInitDialog();
CScrollBar* sbar_scale
=(CScrollBar*)GetDlgItem(IDC_SCROLLBAR_SCALE);
sbar_scale->SetScrollRange(0,100);
sbar_scale->SetScrollPos(70);
return TRUE; // return TRUE unless you set the focus to a control
// 例外 : OCX プロパティ ページは必ず FALSE を返します。
}
void CScrollDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO : ここにメッセージ ハンドラ コードを追加するか、既定の処理を呼び出します。
switch(nSBCode){
case SB_THUMBPOSITION:
pScrollBar->SetScrollPos(nPos);
break;
}
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
解決しました。以下をコメントアウトした後、OnHScrollを追加しなおしたら出来るようになりました。
理由が分からないのですが…。お騒がせしました。
void CScrollDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
//省略
}