掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ダイアログ上のリストコントロールのスクロールを同期させるには (ID:73210)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
参考になるかどうかわかりませんが、次のように実装しました。 1.MyListA MyListB が同期スクロールするものとします。 2.互いに、互いのポインタを保持するものとします。 3.MyListA::OnVScroll(UINT code, UINT pos, CScrollBar* bar) { CListCtrl::OnVScroll( code, pos, bar);//自派生元の処理 m_list_b->OnScroll_by_Brother( code, pos, bar);//兄弟に通告 } 4.MyListB::OnScroll_by_Brother(UINT code, UINT pos, CScrollBar* bar) {//兄弟からの通告 if( nSBCode == SB_THUMBTRACK){ UINT n = GetTopIndex(); UINT Sub = nPos - n; Scroll( CSize( 0, 一行の高さ * Sub)); } else{ CListCtrl::OnVScroll( code, pos, bar);//自派生元の処理 } } つまり、同等コードを呼び合う形です。 ただし、SB_THUMBTRACKだけはうまくいかないので CListCtrl::Scroll()で必要な分スクロールさせます。 マウスホイールについても同様の形で実装します。 この場合当然、CListCtrl::Scroll()でスクロールします。 兄弟にはデルタ値を渡せば十分ですね。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.