スクロールバーを動かすには?

解決


kom  2006-05-03 12:23:57  No: 61676  IP: 192.*.*.*

水平スクロールバーが初期位置から動かせません。
コードは以下のよう書きました。
どなたかアドバイスをお願いします。(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);
}

編集 削除
kom  2006-05-03 13:13:51  No: 61677  IP: 192.*.*.*

解決しました。以下をコメントアウトした後、OnHScrollを追加しなおしたら出来るようになりました。
理由が分からないのですが…。お騒がせしました。

void CScrollDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
//省略
}

編集 削除