AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Hilfe erstellen

Ein Thema von Delbor · begonnen am 16. Jul 2018 · letzter Beitrag vom 21. Jul 2018
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.588 Beiträge
 
Delphi 12 Athens
 
#2

AW: Hilfe erstellen

  Alt 16. Jul 2018, 15:43
Siehe OH?

Command gibt an was es für eine Hilfe ist. (Context oder Keyword)
und in Data ist dann entweder der Context (Integer) oder das Keyword (PString) drin.

Und in CallHelp gibst DU an, ob du die Hilfe-Anfrage verarbeitet hast, oder ob es doch noch an Standardbehandlung weitergereicht werden soll.

[add] Der Anfang von etwas, dass ich mal vor paar Jahren schrieb.
Delphi-Quellcode:
function THelpModul.ApplicationEvents1Help(Command: Word; Data: Integer; var CallHelp: Boolean): Boolean;
...
begin
  Log := '';
  try
    {$REGION 'originalen Hilfeaufruf loggen'}
    case Command of
      HELP_CONTEXT: S := ' - HELP_CONTEXT (Display topic in ulTopic)';
      HELP_QUIT: S := ' - HELP_QUIT (Terminate help)';
      HELP_INDEX: S := ' - HELP_INDEX/HELP_CONTENTS (Display index)';
      HELP_HELPONHELP: S := ' - HELP_HELPONHELP (Display help on using help)';
      HELP_SETINDEX: S := ' - HELP_SETINDEX/HELP_SETCONTENTS (Set current Index for multi index help)';
      HELP_CONTEXTPOPUP: S := ' - HELP_CONTEXTPOPUP';
      HELP_FORCEFILE: S := ' - HELP_FORCEFILE';
      HELP_CONTEXTMENU: S := ' - HELP_CONTEXTMENU';
      HELP_FINDER: S := ' - HELP_FINDER';
      HELP_WM_HELP: S := ' - HELP_WM_HELP';
      HELP_SETPOPUP_POS: S := ' - HELP_SETPOPUP_POS';
      HELP_KEY: S := ' - HELP_KEY (Display topic for keyword in offabData)';
      HELP_COMMAND: S := ' - HELP_COMMAND';
      HELP_PARTIALKEY: S := ' - HELP_PARTIALKEY';
      HELP_MULTIKEY: S := ' - HELP_MULTIKEY';
      HELP_SETWINPOS: S := ' - HELP_SETWINPOS';
      else S := '';
    end;
    Log := Log + Format('CallHelp: Command=%d%s Data=%d'#10, [Command, S, Data]);
    if Command = HELP_COMMAND then
      Log := Log + ' Keyword/JumpID="' + PChar(Data) + '"'#10
    else if (Command = HELP_CONTEXT) or (Command = HELP_CONTEXTPOPUP) then
      Log := Log + ' ContextID=' + IntToStr(THelpContext(Data)) + #10
    else
      Log := Log + ' Keyword/ContextID/JumpID nicht erkannt'#10;
    {$ENDREGION}

    {$REGION 'nicht alle Komandos verarbeiten (z.B. wird beim F1 ein HELP_SETPOPUP_POS vor dem HELP_COMMAND aufgerufen)'}
    //if not (Command in [HELP_INDEX, HELP_CONTEXT, HELP_COMMAND, HELP_WM_HELP, HELP_QUIT]) then
    // Exit(True);
    case Command of
      HELP_INDEX, HELP_CONTEXT, HELP_CONTEXTPOPUP, HELP_COMMAND, HELP_WM_HELP, HELP_QUIT: ; // mit CASE, da IN einen zu kleinen Wertebereich zur Verfügung stellt
      else Exit(True);
    end;
    {$ENDREGION}

    {$REGION 'HELP_QUIT: das Hilfefenster soll geschlossen werden'}
    if Command = HELP_QUIT then begin
      FreeAndNil(HauptFormAbstract.FormWebBrowser);
      Exit(True);
    end;
    {$ENDREGION}

    ...
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (16. Jul 2018 um 15:53 Uhr)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz