掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Windows標準の音量設定 (ID:5965)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Halbow です。 > トラックバーにマウスを放したときのイベントがないみたいなので VCL のイベントにないだけで、本当はコモンコントロールはメッセージを送って知らせているんです。以下のようにしてこれを捕まえられます。Form1 の Trackbar1 と Label1、Label2 を置いて { Private 宣言 } public OriginalProc:TWndMethod; procedure SubclassProc(var Msg:TMessage); end; var Form1: TForm1; implementation {$R *.DFM} uses Commctrl; procedure TForm1.FormCreate(Sender: TObject); begin OriginalProc := TrackBar1.WindowProc; TrackBar1.WindowProc := SubclassProc; end; procedure TForm1.SubclassProc(var Msg: TMessage); begin OriginalProc(Msg); case Msg.Msg of CN_HSCROLL,CN_VSCROLL: if Msg.WParamLo = TB_ENDTRACK then Label1.Caption := IntToStr(Trackbar1.Position); end; end; procedure TForm1.TrackBar1Change(Sender: TObject); begin Label2.Caption := IntToStr(Trackbar1.Position); end; のようにすると、つまみを動かしているときの位置が Label2 に、そしてマウスを離したときの位置が Label1 に表示されます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.