- 題名: richTextBoxのスクロールバーをつまんだ時のイベントがわからない
- 日時: 2004/09/10 19:14:04
- ID: 6118
- この記事の返信元:
- (なし)
- この記事への返信:
- [6137] Re[1]: richTextBoxのスクロールバーをつまんだ時のイベントがわからない2004/09/13 11:53:55
- ツリーを表示
■No6118に返信(ののさんの記事) > はじめまして。ののと申します。 はじめまして、java.lang.Nullpoという者です。 > richTextBoxにはVSCROLLイベントがあり、スクロールバーの上下ボタンや > バーの空白部分?クリック時は確かにイベントが発生するのですが、バーを > つまんでスクロールさせた時には発生しません。 私も確認いたしました。 > バーをつまんでスクロールした時のイベントはどのように取得すればよいの > でしょうか。 イベントとして実装したいのなら、RichTextBoxを継承したカスタムコントロールを自作します。 // 名前空間は適当に決めてください namespace TekitohNiKimetekudasai { // RichTextBoxを継承したExRichTextBox public class ExRichTextBox : System.Windows.Forms.RichTextBox { // this::WndProc (Override) protected override void WndProc(ref Message m) { const int WM_VSCROLL = 0x115; // WM_VSCROLLをキャッチしたらOnVScroll()を発生 if (m.Msg == WM_VSCROLL) { OnVScroll(new System.EventArgs()); } base.WndProc(ref m); } } } このExRichTextBoxコントロールを使えば、スクロールバーを摘んで移動した場合も、 VScroll()イベントは起きます。 ただし、移動が確定していない最中(まだ摘んでる状態で)も、イベントが起きますので 移動が確定した時でないとダメな時は、他のメッセージと絡ませる必要があります。 # その辺は面倒なので、省略させて頂きますが要領は同じです。
分類:[.NET]
はじめまして。ののと申します。
richTextBoxにはVSCROLLイベントがあり、スクロールバーの上下ボタンや
バーの空白部分?クリック時は確かにイベントが発生するのですが、バーを
つまんでスクロールさせた時には発生しません。
バーをつまんでスクロールした時のイベントはどのように取得すればよいの
でしょうか。
以上、よろしくお願いします。