Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Auf F1 mit eigener Hilfe-procedure reagieren? (https://www.delphipraxis.net/51007-auf-f1-mit-eigener-hilfe-procedure-reagieren.html)

Igotcha 4. Aug 2005 12:44


Auf F1 mit eigener Hilfe-procedure reagieren?
 
Hallo zusammen,

ich möchte bei Druck auf F1 in meiner Anwendung mit einer eigenen Procedure reagieren. Als Übergabeparameter sollte die Context-ID übergeben werden.

Ich möchte kein Helpfile verwenden, sondern die Helpanfrage soll in einer TWebBrowser-Komponente eine entsprechende Webseite aufrufen.

Wenn ich jetzt versuche, im OnHelp-Ereignis meiner Mainform eine Procedure aufzurufen, passiert leider rein gar nichts...

Gruß Igotcha

Bernhard Geyer 4. Aug 2005 12:49

Re: Auf F1 mit eigener Hilfe-procedure reagieren?
 
Schau dir mal Delphi HTML Help Kit an.
In D6/7 wurde scheinbar ein Bug eingeführt, welcher zu unerwarteten Verhalten führt. Die Sourcen kannst Du ja entsprechen für reine HTML-Hilfe erweitern.

Igotcha 4. Aug 2005 13:22

Re: Auf F1 mit eigener Hilfe-procedure reagieren?
 
Also ich habe die Unit aus dem Fix hinzugefügt, einem Control die ContextID=100 gegeben und als Test mal das gemacht:

Delphi-Quellcode:
function TxForm.FormHelp(Command: Word; Data: Integer;
  var CallHelp: Boolean): Boolean;
begin
   ShowMessage(inttostr(Data));
end;
Die Ausgabe ist: 3145734 und 100 - Es erscheinen 2 Messageboxen hintereinander!

Wo kommt denn die 3145734 her?

Gruß Igotcha

crowley 5. Feb 2009 10:08

Re: Auf F1 mit eigener Hilfe-procedure reagieren?
 
Hallo Iotcha,

ich hab dasselbe Problem, dass bei mir ZWEIMAL FormHelp mit unterschiedlichen ContextIds aufgerufen wird.

Beispiel. Ich habe im MainMenu ein MenuItem "Anwender kopieren" mit ContextId 1100 und die aktuelle Seite des TPageControl hat die ContextId 1000. Wenn ich nun das MainMenu öffne und mein MenuItem selektiert (mit Mauszeiger bzw. Tastatur) und dann F1 drücke, wird erst FormHelp mit der ContextId 1100 und anschließend noch einmal mit ContextId 1000 aufgerufen.

Command ist in beiden Fällen "1".

Es macht keinen Unterschied, ob ich CallHelp auf True/False setze... ebensowenig macht es einen Unterschied, ob ich als Ergebnis von FormHelp True/False zurückgebe.

Hat jemand eine Idee, wie ich das auflösen kann?

Danke schon einmal im Voraus

C.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz