- 締切済み
Hintの表示が直ぐに消えてしまう!
TFormにTimageがあり、マウスがTImageの上を通過するとヒントが表示されるようにしております。 ヒントは通常、マウスカーソルの直下に表示されますが、ヒントの文面が長い→ヒントの表示される領域が大きく、画面の下側にはみ出そうになると通常、表示位置を補正します。ところが、一瞬表示された後、消えてしまいます。 ヒントの文面が短い場合、問題なく表示されるのですが、文章が大きい場合、上記のように一瞬表示の後、消えてしまいます。 ヒントの文面が長いのも問題とは思いますが、何か設定が必要でしょうか。 どなたが対策方法を教えて頂けないでしょうか。 PC環境はWindowsXp Home edition, Borland C++Builder6 Proです。 宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- hidebun
- ベストアンサー率50% (92/181)
こちらは、 WindowsXP Professional BorlandC++ Builder6(Build10.157) を使って、サンプルを作成しています。 以下に私が使ったサンプルを置きました。 http://sund1.sakura.ne.jp/uploader/source/up8481.zip "test\ntest\n"を140行分Hintに設定しています。 TPanelの上にTImageを同じサイズで置いたものです。 こちらでは、3秒間Hintが表示されます。 一度試してみて下さい。
- hidebun
- ベストアンサー率50% (92/181)
(1)Builder6を起動 (2)表示されたTFormにTImageを貼り付け (3)TImageインスタンスに長いHint文字列を設定 (4)ビルド (5)マウスカーソルをTImageの枠内(と思われる場所)に載せる とすると、こちらではHintがデフォルト3秒間表示されます。 設定した文字列は、 "test1\ntest2\n"のような改行を多く含む文字列で、 Windowsデスクトップの縦方向に収まらないような文字列です。 上記を質問者さんの環境で、質問者さんが表示したい文字列を 設定すると、どうなるでしょうか。 プログラムが原因なのか、環境的な要因なのかをまず切り分けるのがよいと思います。
補足
早速、ご回答ありがとうございます。 "test\ntest\n・・・・"という感じで"test"を140行入れてみました。 Windowsデスクトップに収まりきらない行数だと思います。 マウスをTImageの上に置くと、一瞬表示されますが次の瞬間消えてしまいます。 デスクトップ内に表示しようとしているようですが・・・・。 もう少し、詳細を記載しますと、TFormの上にTPanelを置き、更にその上にTImageを5個とTLabelを1個載せています。 その内のTImage1個のヒントが上記のような現象が起きています。 他のTImageなどは極短いヒントを入力しているため、特に不具合は起きていません。普通に表示できています。 また、デスクトップPCとノートPC(どちらもWIndowsXP Home)で試してみましたが現象は同じでした。やはりソフト側だという気がします。 宜しくお願いいたします。
補足
サンプルありがとうございます。 確認しました所、このサンプルは問題なくヒントが表示されます。 TForm, TPanel, TImageとこちらの状況と非常に近いです。 しかし、原因はまだ不明です。 小生のTImageのプロパティとも比較してみましたが、特に違いは見られませんでした。 どうやら、問題はPCでもなく、C++Builderでもなく、他のコードが悪さをしているのででしょうか。 他の部品のイベント関係を見直してみようと思います。 ありがとうございました。