私は、数百のフォームと、2,000 を超えるトピックを含む対応するヘルプ ファイルを含むアプリケーションに取り組んでいます。コンテキスト ID を割り当てている特定のフォームが 1 つありますが、「F1」を押すと、ヘルプ ファイルがデフォルト ページで開きます (これは、渡された ID が見つからなかったことを意味します)。適切なトピックが表示されない理由をさらにデバッグするために、ヘルプ ファイルに渡されている ID を調べる必要があります。この番号を見つけるにはどうすればよいですか?
質問する
1190 次
1 に答える
4
この質問を書いているときに解決策を発見したので、この質問にQ&Aスタイルで答えています...
Application
コンポーネントには、ヘルプ ファイルが開かれるときにトリガーされるイベントがOnHelp
あります。このイベントにハンドラー関数を割り当て、Data
パラメーターを読み取ってこのコンテキスト ID を取得します。
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnHelp:= AppHelp;
end;
function TForm1.AppHelp(Command: Word; Data: THelpEventData; var CallHelp: Boolean): Boolean;
begin
ShowMessage(IntToStr(Data));
end;
さらに、CallHelp
パラメーターをに変更False
して、アプリケーションがヘルプ ファイルを開く直前に呼び出しをキャンセルするようにすることもできます。
于 2012-10-30T15:35:32.613 に答える