1

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 に設定するより良い方法はありますか?

4

0 に答える 0