- - PR -
ListViewのスクロールイベントを取得したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-04-18 14:26
お世話になります。
Windows.FormsのListViewコントロールで質問させて下さい。 ListViewコントロールでスクロールされたかどうかを 取得したいのですが、どのように取得すれば良いのでしょうか? 環境:WinXP /VS2003/.NET Framework 1.1 SP-1 |
|
投稿日時: 2005-04-18 14:41
WndProc(ref System.Windows.Forms.Message m)をoverrideすればできると思います。
|
|
投稿日時: 2005-04-18 14:41
こちらをどうぞ。
http://dobon.net/vb/dotnet/control/firescrollevent.html |
|
投稿日時: 2005-04-18 15:56
burton999さん、Hongliangさんご返答ありがとうございます。
下記の内容でWndProcをオーバーライドしてみたのですが、ListViewの スクロールイベントは取得できませんでした。 HScrollBarコントロール等はスクロール時メッセージが飛んでくるのですが・・・。 オーバーライドの仕方に問題があるのでしょうか? 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); } |
|
投稿日時: 2005-04-18 16:14
私の環境では問題なくスクロールイベントを取得できますが。。。
System.Windows.Forms.ListViewを継承してクラスを作成しているのですよね? |
|
投稿日時: 2005-04-18 16:52
burton999さんご返答ありがうございます。
すいません。フォームのWndProcにWM_HSCROLL,WM_VSCROLLイベントが飛んで くると思っていました。ListViewを継承したサブクラスでWndProcをオーバーライド し、スクロールイベントを取得しなければいけないのですね。 ListViewを継承したサブクラスで問題なくスクロールイベントが取得出来ました。 burton999さん,Hongliangさんありがとうございました。 |
1