掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
スレッドがマウスイベントで止まらないようにするには? (ID:40226)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
KHE00221様、 説明が足りませんでした。 スレッドはUnit2.pasへ書きました。 メインのフォームUnit1.pasでは、 uses ..., Unit2, ... type TForm1 = class(TForm) .. ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; ... .... private Thread1: TFrom2; TForm1.FormShow()プロシージャで ... Thread1 := TFrom2.Create(True); Thread1.Priority := tpLowest; Thread1.Resume; でTFrom2を起動しています。Form1の表示と同じタイミングでForm2が動いています。 また、Unit2.pasでは最初の投稿で書いた以外に、 type TForm2 = class(TThread) private .... function GetData: boolean; .... protected procedure Execute; override; public ... end; としています。 さらに、ToolButton1をクリックして、 procedure TForm1.ToolButton1Click(Sender: TObject); begin if start.Enabled = false then exit; StartProcess(self); end; を行います。 startと書いているのは、dfmで object ToolButton1: TToolButton Left = 120 Top = 0 Action = Start ParentShowHint = False ShowHint = True end として、TActionのOnExecuteイベントを使っている為です。 このボタンのヒントは、 TForm1.FormCreate()プロシージャで Start.Hint := 'スタート'; としています。 StartProcess()では、 Start.Enabled:=False として、ボタンを利用不可にしていますが、ここでマウスポインタが上にくると、ヒントが空白になりForm2が止まる(一時停止)する現象が出ます。マウスポインタをボタンから外せば、Form2は再開します。 他のボタン(ToolButton2〜6)でもTActionのOnExecuteイベントを使用しており、EnabledがTrueの場合は、上記現象が出ません。 From2がなぜ一時停止してヒントも空白表示になるのか原因を突き止めていません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.