MDIでFileOpenで開いた二つのドキュメントのリッチテキストエディタービューの
片方のウインドウのスクロールバーを動かすと
もうひ一つのウインドウも同時に動かしたいのですがどうすれば良いでしょうか。
簡単にゆうと二つのウインドウの文章が平行してスクロールするイメージです。
どうぞ宜しくお願いします。
過去ログ
同期スクロールの方法について
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200411/04110013.txt
は参考になりますでしょうか?
CScrollView::ScrollToPosition() の具体的な指示がわかりますか。
ウインドウハンドルとか取得しなくて良いですか。
すべての子ウィンドウが動いてしまいますが、こんな感じ。
(GetNextWindowが最後までいくとNULLが返るため、なんとか大丈夫っぽい)
void CMIDTestView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォル
トの処理を呼び出してください
// 別の子ウィンドウを取得(CChildFrame)
CWnd* pWnd = this->GetParentFrame()->GetNextWindow();
if ( pWnd )
{
if ( pWnd )
{
pWnd->SendMessage( WM_VSCROLL, MAKELONG( nSBCode, nPos ), (
LPARAM )NULL );
}
}
CEditView::OnVScroll(nSBCode, nPos, pScrollBar);
}
期待通りの動作をしました。
ありがとうございました。