【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言

.Net2003 C# にてアプリを作成しています。
.Netを始めて初心者です。(プログラミング経験も浅いです)

ListView1とListView2を作成して、
ListView2がスクロールしたら、ListView1も同じくスクロールさせる
と言ったListViewのスクロールの同期化処理を行いたいのですが、
ソースコードが思いつきません。
ListViewのイベント、プロパティにはスクロール情報を取得するモノが
みつかりませんでした。

現在は下記サイトを参考にさせて頂き、スクロールイベントの発生をキャッチする所までは
なんとかたどり着いたのですが、ここからどうやって
ListView1にスクロール同期化をさせるコードを書いていいのかが
思いつきません。

何か参考になるHPや、コードがありましたら教えてください。

http://dobon.net/vb/dotnet/control/firescrolleve …
から以下コードを参考にしました。
protected override void WndProc(ref Message m)
{
const int WM_HSCROLL = 0x114;
const int WM_VSCROLL = 0x115;

switch (m.Msg)
{
case WM_HSCROLL:
Console.WriteLine(
"水平スクロールバーがスクロールされました。");
break;
case WM_VSCROLL:
Console.WriteLine(
"垂直スクロールバーがスクロールされました。");
break;
}
base.WndProc(ref m);
}

A 回答 (2件)

>スクロール量を取得する方法あるのでしょうか?



WM_HSCROLL、WM_VSCROLLが送られてきたときのwParamやlParamの中。

http://msdn.microsoft.com/library/default.asp?ur …

http://msdn.microsoft.com/library/default.asp?ur …
    • good
    • 0
この回答へのお礼

ありがとうございます。
そっちの方にあったんですね、、。
おかげでなんとか、作れそうです。
本当にありがとうございました。

お礼日時:2005/04/22 01:37

スクロールさせたいListViewコントロールのWndProcメソッドを呼び出してください。



そのときに送るメッセージは

LVM_SCROLL
になります。

パラメータの指定方法はurl参照(.NETのリファレンスではありません)
http://msdn.microsoft.com/library/default.asp?ur …
    • good
    • 0
この回答へのお礼

ご回答の方ありがとうございました。
ご指摘して頂いた通りに、やったところ、
なんとかスクロールさせることは出来ましたが、
ListView1をスクロールさせた時のスクロール量を
取る方法がわからないため、うまくListView1と2の同期が
とれません。
スクロール量を取得する方法あるのでしょうか?
教えていただいたリファレンスを見てみたところ、
なさそうだったのですが、、、。

お礼日時:2005/04/21 01:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報