VCL フォーム アプリケーションを作成し、フォームに aTBalloonHint
と aTButton
を配置し、ボタンのクリック イベント ハンドラに次のコードを記述します。
procedure TForm2.btnTestClick(Sender: TObject);
begin
if balloonhintTest.ShowingHint then
ShowMessage('balloonhintTest is showing')
else
ShowMessage('balloonhintTest is not showing');
end;
奇妙なことに、実行時にボタンをクリックすると、次のメッセージが表示されます。
...ただし、プログラムで で表示されたことはありませんballoonhintTest.ShowHint
。
これを防ぐためにこれまでに見つけた唯一の方法は、次の回避策です。
procedure TForm2.FormCreate(Sender: TObject);
begin
balloonhintTest.HideHint;
end;
では、BalloonHint がデフォルトで (物理的にはまったく表示されていないのに) 表示されていると報告されるのはなぜですか? また、これをデフォルトとして False に設定するより良い方法はありますか?