- 題名: 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イベントがあり、スクロールバーの上下ボタンや
バーの空白部分?クリック時は確かにイベントが発生するのですが、バーを
つまんでスクロールさせた時には発生しません。
バーをつまんでスクロールした時のイベントはどのように取得すればよいの
でしょうか。
以上、よろしくお願いします。