Helpコメントなどのようにポイントすると文字列が表示される機能を付けたいのですが、
HelpKeywordで指定した文字は1秒ほど遅れて表示されてしまいますよね。
これを瞬時に表示したいと思うのですが、OnMouseMoveなどでコンポーネントをポイント
した時にカーソルの位置にコメントの書いた四角い箱を表示する事はできないでしょうか?
よろしくお願い致します。
たしか、マウスがコンポーネントの上に入った/出たは、CM_MOUSEENTER/CM_MOUSELEAVEメッセージが飛んできたはずです。
このメッセージが来たら表示/非表示するようにすればできます。
表示はどんなものを使ってもよいですが、ヒント表示でしたら、THintWindowクラスの継承クラスを作成し、表示してやればよろしいかと思います。
ヒント文を瞬時に表示するようにするには
以下のようにすれば出来ます。
Application.HintPause := 0;
ステータス領域にヒントを表示する機能(ロングヒント)を応用してみてはどうでしょうか?
ヒントの書式はGetLongHintなどのページをみてもらうとして、
ロングヒント部分は、たとえ本来チップテキスト(ヒント)を表示できないメニューでも、ステータスバーに表示することができます。
実際は、ヒントを持っているコントロールや項目にマウスがのるたびに、
Application.OnHintが発生して、それでステータスバーにロングヒントを表示しています。
ここで、Application.OnHintを自分でコーディングして(ヘルプにあるとおり、そのときのロングヒントの内容は、Application.Hintからわかります)、
ロングヒントを、自分の表示したい場所に表示するようにしたらどうでしょうか?
皆様に色々な方法を提示して頂いたのですが、結局hidetoさんの意見を参考に
させていただきました。
また何かあればよろしくお願い致します。
本当にありがとうございました。
ツイート | ![]() |