2009-06-18 34 views
0

フォームを介してヘルプが要求されたときにヘルプメッセージを送信しない(Steema TTree)ソースを持っていない特定のコントロールがあります。 (ダイアログのXの近くの?をクリックし、TTreeをクリックする)フォームがヘルプモードであるかどうかを確認するにはどうすればよいですか?

私はフォーム上で直接ヘルプを呼び出し、自分のhelpmessageを渡すことができますが、フォームがヘルプモードかどうかはわかりません。

フォームのカーソルは、?があっても実際に0です。それの横に...私は奇妙に見える。

とにかく、私はこれで自分のやり方をハッキングしていることを知っていますが、私は気にしません。私が知りたいのは、ユーザーがヘルプをリクエストしているのかどうかを知る方法があるかどうかです。カーソルの隣に

答えて

0

Torryは、私は、グローバル変数をtrueに

fHelpMode : Boolean 

を設定するためにこれらの機能をオーバーライド

procedure wmNCLButtonDown(var Msg: TWMNCLButtonDown); message WM_NCLBUTTONDOWN; 
procedure wmNCLButtonUp(var Msg: TWMNCLButtonUp); message WM_NCLBUTTONUP; 

を助けたときに、ユーザーが要求した場合の時に私が知ることができる

if Msg.HitTest = HTHELP then 
     fHelpMode := true; 

ヘルプと私はヘルプのポップアップを行うためにTTreeのマウスイベントを無効にすることができます。

1

フォームのカーソルは0でも でもありますか?それの隣に... 見つからない。それはあなたのフォームがアクティブなものでなければならない

するTry Screen.Cursorをカーソルであるためだ

+0

手順TForm.tmr1Timer(送信者:TObject); begin OutputDebugString(PAnsiChar(format( '%d'、[ord(Cursor)])));OutputDebugString(PAnsiChar(format( '%d'、[ord(Screen.Cursor)]))); end; 出力は両方とも0です。 また、?ダイアログからドラッグすると消えます。あなたはおそらく正しいですが、何かのカーソルがに設定されていますか? –

関連する問題