[リストへもどる]
一括表示

投稿時間:2004/04/23(Fri) 14:39
投稿者名:ユーミ
Eメール:
URL :
タイトル:
テキストボックスのスクロールバーを連動させる方法を教えてください.
はじめまして.質問があります.

2つのテキストボックスを設置して,一方のテキストボックスに表示されている文章を,
もう一方のテキストボックスに入力していく作業を行うためのプログラムを作成しています.

どちらか一方のスクロールバーが動いたら,もう一方のスクロールバーも同じ量
(例えば,全角1文字分とか)だけ動くようにすることは可能でしょうか?

よろしければ,方法を伝授していただきたいです.
よろしくお願いしますm(_ _)m.

投稿時間:2004/04/23(Fri) 15:54
投稿者名:GOD
Eメール:
URL :
タイトル:
Re: テキストボックスのスクロールバーを連動させる方法を教えてください.
> 2つのテキストボックスを設置して,一方のテキストボックスに表示されている文章を,
> もう一方のテキストボックスに入力していく作業を行うためのプログラムを作成しています.
>
> どちらか一方のスクロールバーが動いたら,もう一方のスクロールバーも同じ量
> (例えば,全角1文字分とか)だけ動くようにすることは可能でしょうか?
>
テキストボックスをサブクラス化してWM_VSCROLL, WM_HSCROLLの処理時にもう片方のほうに
SendMessageしてあげればできそうです。無限ループに陥らないように注意してくださいね。

投稿時間:2004/04/23(Fri) 16:55
投稿者名:GOD
Eメール:
URL :
タイトル:
Re^2: テキストボックスのスクロールバーを連動させる方法を教えてください.
> > 2つのテキストボックスを設置して,一方のテキストボックスに表示されている文章を,
> > もう一方のテキストボックスに入力していく作業を行うためのプログラムを作成しています.
> >
> > どちらか一方のスクロールバーが動いたら,もう一方のスクロールバーも同じ量
> > (例えば,全角1文字分とか)だけ動くようにすることは可能でしょうか?
> >
> テキストボックスをサブクラス化してWM_VSCROLL, WM_HSCROLLの処理時にもう片方のほうに
> SendMessageしてあげればできそうです。無限ループに陥らないように注意してくださいね。
>
マウスでスクロールさせるだけなら良いけど入力とかされるのであればWM_VSCROLL, WM_HSCROLL
だけではだめそうだ。(TT
キー関係の処理もしないと。
Private Sub Text1_Change(KeyCode As Integer, Shift As Integer)
    Text2 = Text1
    Text2.SelStart = Text1.SelStart
End Sub
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
    Text2 = Text1
    Text2.SelStart = Text1.SelStart
End Sub
ChangeだけだとHOME, ENDキーの対応ができない。
KeyUpだけだとキーリピート中にイベントが発生しないので見てるとかっこ悪い。

#本気でデバックすると抜けがあるかも^^

投稿時間:2004/04/23(Fri) 17:49
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: テキストボックスのスクロールバーを連動させる方法を教えてください.
テキストボックスでは試していませんが、リッチテキストボックスを使用すれば
比較的に簡単に同期がとれます。
但し、OSにより動作が異なります。

過去ログ(下記)を試して見て下さい。

Re^3: リッチテキストボックス同時スクロー.. - 花ちゃん 11/09-08:53 No.6564
http://www.bcap.co.jp/hanafusa/logbbs/wforum.cgi?mode=allread&no=6510#6564

又、Re^7: 2つのテキストボックス、行の同期(.. - 花ちゃん 01/31-20:45 No.7780
にも目を通しておいて下さい。