home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / OTL-MC4.DMS / in.adf / Archive / Prog.lha / Docs / Optionen < prev    next >
Encoding:
Text File  |  1994-01-30  |  35.2 KB  |  617 lines

  1.  
  2. HotHelp-Optionen
  3. ================
  4.  
  5.    Im  Folgenden werden die Optionen erläutert, mit denen das Aussehen und
  6. Verhalten  eines  HotHelp-Fensters  gesteuert  werden  kann.  Der Name des
  7. entsprechenden  Tags  wird  durch  Voranstellen  von 'HHT_' (Abkürzung für
  8. 'HotHelpTag')  gebildet.   Außerdem  findet sich für die schon aus Version
  9. 2.0    bekannten    Optionen    eine    gleichnamige   Variable   in   der
  10. HH_NewWindow-Struktur.
  11.  
  12.    Neben  dem Namen der Option wird noch der Datentyp genannt, der bei dem
  13. entsprechenden  TagItem  Verwendung findet.  Außerdem wird noch angegeben,
  14. ob   die  Option  erst  ab  V3  verwendet  werden  kann  und  somit  keine
  15. Entsprechung  in  der HH_NewWindow-Struktur hat.  Bei den meisten Optionen
  16. verwendet  HotHelp,  wenn  die  Option nicht angegeben wird, keinen festen
  17. Default-Wert,  sondern  den entsprechenden in HotHelpPref voreingestellten
  18. Wert.    Diese   Optionen   (die   also  die  Voreinstellungen  des  Users
  19. überschreiben  können)  sollten daher auch nur in Ausnahmefällen verwendet
  20. werden.
  21.  
  22.    Als BOOL deklarierte Optionen müssen beim Aufruf über eine TagListe als
  23. Data-Wert den Wert TRUE (1) oder FALSE (0) erhalten, um die Option gezielt
  24. ein-  oder  auszuschalten.  Andere Werte dürfen nicht verwendet werden, da
  25. HotHelp   evtl.   gezielte  Vergleiche  mit  diesen  Werten  (0  bzw.   1)
  26. durchführt!  Insbesondere darf nicht DOSTRUE (-1) verwendet werden!
  27.  
  28.    Bitte  beachten Sie bei den Font-Optionen, daß HotHelp nur Zeichensätze
  29. mit  fester  Zeichenbreite  verarbeiten  kann  - Proportional-Fonts können
  30. nicht  verwaltet  werden!   Im  Zweifelsfall  greift HotHelp daher auf den
  31. systeminternen Zeichensatz Topaz-8 zurück.
  32.  
  33.    ASyncWindow (BOOL) (V3):
  34.       Normalerweise  arbeiten  HotHelp-Fenster  synchron  zum  aufrufenden
  35.       Programm  -  das  bedeutet,  daß  der  Aufrufer die Kontrolle an die
  36.       HotHelp-Library  übergibt,  bis  das  entsprechende Fenster vom User
  37.       wieder geschlossen wird.  Während das HotHelp-Fenster offen ist, ist
  38.       das aufrufende Programm also nicht aktiv.
  39.       Wird  nun  beim Öffnen des HotHelp-Fensters dieses Tag angegeben, so
  40.       arbeitet  das  neue Fenster asynchron zum aufrufenden Programm.  Das
  41.       heißt,  HotHelp  startet  einen  eigenen  neuen  Prozeß  für  dieses
  42.       Fenster,  der  parallel zum aufrufenden Programm arbeiten kann.  Der
  43.       Aufrufer erhält die Kontrolle zurück, sobald das Fenster erfolgreich
  44.       geöffnet  werden  konnte  (oder wenn dabei ein Fehler auftrat).  Die
  45.       Priorität  des  neuen  Prozesses  kann  über  die  'Priority'-Option
  46.       festgelegt werden.
  47.       Durch  diese  neue  Möglichkeit,  ein  HotHelp-Fenster  parallel zum
  48.       Hauptprogramm  zu  öffnen,  ohne dieses dadurch von anderen Aufgaben
  49.       abzuhalten,   ergeben   sich   natürlich   viele  interessante  neue
  50.       Einsatzmöglichkeiten.      Ein     Beispiel    dazu    bieten    die
  51.       HotHelp-Tools  -  wird  der  Hilfe-Modus  aktiviert,  öffnen sie ein
  52.       asynchrones  HotHelp-Fenster,  in  dem  ein  einleitender  Hilfstext
  53.       angezeigt  wird.   Durch  Anklicken von Gadgets im Fenster des Tools
  54.       können nun Hilfstexte über diese Gadgets abgerufen werden - das Tool
  55.       übergibt   dazu   dem   asynchronen   HotHelp-Fenster   den  zu  dem
  56.       entsprechenden  Gadget  gehörenden Schlüssel-Begriff.  Wird nun HELP
  57.       im Fenster des Tools gedrückt, wird dadurch der Hilfs-Modus beendet,
  58.       ohne daß das Hilfs-Fenster geschlossen würde.
  59.       Die  Library  bietet  ab  V3 eine Reihe von Funktionen an, mit deren
  60.       Hilfe  von außen Einfluß auf asynchrone Fenster genommen werden kann
  61.       (Aktivieren,  Laden neuer Texte, Simulation von User-Eingaben etc.).
  62.       Diese  Funktionen sind durch das Prefix 'ASync' (für 'asynchron') im
  63.       Funktionsnamen    gekennzeichnet.     Außerdem    kann    über   die
  64.       'Notification'-Option noch festgelegt werden, ob das HotHelp-Fenster
  65.       völlig  vom  aufrufenden Programm abgekoppelt werden soll.  Soll das
  66.       Fenster  später von außen noch über die 'HH_ASync...  ()'-Funktionen
  67.       ferngesteuert  werden, so kann seine ID über die gleichnamige Option
  68.       abgefragt werden.
  69.  
  70.    CheckAll (BOOL) (V3):
  71.       Wird   ein   HotHelp-Fenster   mit   Angabe   eines   Projekt-   und
  72.       Schlüssel-Begriffes  geöffnet  (siehe Optionen 'Project' und 'Key'),
  73.       durchsucht  HotHelp  normalerweise  nur das angegebene Projekt (bzw.
  74.       alle  passenden  Projekte  bei  Verwendung  eines Patterns) nach dem
  75.       angeforderten  Schlüssel.   Wird  er  dort nicht gefunden, wird eine
  76.       Fehlermeldung ausgegeben.
  77.       Ist  diese  Option  gesetzt,  so wird zuerst so wie oben beschrieben
  78.       vorgegangen.   Wird  dabei jedoch kein passender Schlüssel gefunden,
  79.       so  durchsucht  HotHelp automatisch auch alle übrigen Projekte.  Ist
  80.       das Flag also gesetzt, so wird der Projekt-String lediglich als eine
  81.       Art  Vorgabe  betrachtet:   Befindet  sich  der  gesuchte  Schlüssel
  82.       innerhalb des Projektes, ist aller klar; andernfalls werden auch die
  83.       übrigen durchsucht.
  84.       HotKeyHelp  verwendet  diese  Option, um bei Aufruf über Shift- oder
  85.       Ctrl-Help zuerst in den in HotHelpPref angegebenen Default-Projekten
  86.       zu  suchen.  Wird dort der gewünschte Begriff nicht gefunden, werden
  87.       automatisch die restlichen Projekte durchsucht.
  88.  
  89.    CloseCut (BYTE):
  90.       Kann 3 verschiedene Werte annehmen.
  91.       0: Nach  dem  Export  eines Textes wird das HotHelp-Fenster in jedem
  92.          Fall geschlossen.
  93.       1: Außer nach dem Drucken wird das Fenster immer geschlossen.
  94.       2: Nur nach der Auswahl von 'Spezial' wird das Fenster geschlossen.
  95.  
  96.    ColorActiView (BYTE) (V3):
  97.    ColorDark (BYTE):
  98.    ColorLight (BYTE):
  99.    ColorReference (BYTE):
  100.    ColorText (BYTE):
  101.       Hierüber  können  die  Farben  für  den Text, die hellen und dunklen
  102.       Seiten  der Gadgets, die Querverweise sowie die Hintergrundfarbe der
  103.       Titelzeile  des  aktiven  Views festgelegt werden.  Angegeben werden
  104.       die Nummern der entsprechenden Farbregister.
  105.       Das  Programm fängt keine ungültigen Farbkombinationen (weißer Adler
  106.       auf  weißem  Grund) ab.  Die Einstellungen werden nur beachtet, wenn
  107.       die 'SmartColors'-Option nicht gesetzt ist.
  108.  
  109.    DataStruct (struct HH_Data *) (V3):
  110.       Wird   zum   Öffnen   eines   Fensters  keine  HH_NewWindow-Struktur
  111.       verwendet,  sollen  beim  Schließen  des  Fensters  aber dennoch die
  112.       Angaben  über die aktuelle Position und Größe, die zuletzt gesehenen
  113.       Einträge,  Suchtexte etc.  festgehalten werden, um sie beim nächsten
  114.       Öffnen  wieder  verwenden zu können, muß über dieses Tag die Adresse
  115.       einer HH_Data-Struktur übergeben werden.
  116.       Die  Struktur  muß  vor dem Aufruf entsprechend initialisiert werden
  117.       und  darf  bis  zum  Schließen  des HotHelp-Fensters nicht verändert
  118.       werden.  Weiteres siehe bei der Beschreibung der Struktur.
  119.  
  120.    DefaultFont (BOOL):
  121.       Falls  das HotHelp-Window mit Angabe eines anderen Fensters geöffnet
  122.       wird  (siehe  'Parent_Window'), wird dessen Font benutzt - ansonsten
  123.       der Default-Zeichensatz des Systems (GfxBase->DefaultFont).
  124.       Wird  das  Flag  nicht  angegeben,  wird  der  durch  'FontName' und
  125.       'FontSize'  angewählte  Font  geladen.   Wurden  auch diese Optionen
  126.       nicht verwendet, greift HotHelp auf den in HotHelpPref eingestellten
  127.       Zeichensatz zurück.
  128.       'FastFont',  'SmartFont' und 'DefaultFont' dürfen nicht gleichzeitig
  129.       angegeben werden.
  130.  
  131.    ExportStruct (struct HH_Export *) (V3):
  132.       Falls  das  aufrufende Programm Meldungen über den Export von Texten
  133.       erhalten möchte, aber keine HH_NewWindow-Struktur angegeben hat, muß
  134.       über dieses Tag ein Zeiger auf eine entsprechende Struktur übergeben
  135.       werden.   Wird  das  Tag  nicht  angegeben,  ist der Export über das
  136.       'Spezial'-Gadget  gesperrt,  da  bei dessen Verwendung noch Aktionen
  137.       vom Aufrufer verlangt werden.
  138.       Die  Struktur  muß  vor dem Aufruf entsprechend initialisiert werden
  139.       und  darf  bis  zum  Schließen  des HotHelp-Fensters nicht verändert
  140.       werden.  Weiteres siehe bei der Beschreibung der Struktur.
  141.  
  142.    FastFont (BOOL):
  143.       Falls   es  sich  bei  der  installierten  HotHelp-Library  um  eine
  144.       FastFont-Version handelt, wird dieser für die Ausgabe benutzt.
  145.       'FastFont',  'SmartFont' und 'DefaultFont' dürfen nicht gleichzeitig
  146.       angegeben werden.
  147.  
  148.    FontName (BYTE *):
  149.    FontSize (WORD):
  150.       Die  beiden  Variablen  werden nur benutzt, falls keines der anderen
  151.       Font-Flags    ('DefaultFont',   'FastFont')   gesetzt   ist.    Wird
  152.       'SmartFont'  angefordert,  wird  der  hier  angegebene  Font  in die
  153.       Entscheidung mit einbezogen.
  154.       'FontName' ist ein Zeiger auf einen kompletten Font-Namen (also z.B.
  155.       "topaz.font"),  'FontSize'  gibt  die gewünschte Größe an.  Nur wenn
  156.       weder  diese  Optionen  noch eines der Font-Flags gesetzt sind, wird
  157.       der in HotHelpPref bestimmte Zeichensatz verwendet.
  158.  
  159.    Forget (WORD):
  160.       Über  dieses  Flag  kann  festgelegt werden, ob die Library sich die
  161.       Daten  dieses  Fensters  (Position  und letzter Text) beim Schließen
  162.       merken   soll,   damit   sie   von   einem   anderen   Fenster  über
  163.       'PosAbsolutLast'  und  'ShowAbsolutLast'  wieder  angefordert werden
  164.       können.
  165.       HH_FORGET_NONE   bedeutet,  daß  beide  Daten  festgehalten  werden.
  166.       HH_FORGET_POS   übergeht   die  Positions-  und  Größen-Angaben  und
  167.       HH_FORGET_TEXT  die  Angaben  über den zuletzt sichtbaren Text.  Die
  168.       beiden Flags können auch zusammengefaßt werden, so daß beide Angaben
  169.       nicht gespeichert werden.
  170.  
  171.    GadgetMask (ULONG):
  172.       Mit  Hilfe  dieser  Variablen  können einzelnen Gadgets ausgeblendet
  173.       werden.    So   kann   z.B.   durch  Ausblenden  des  Export-Gadgets
  174.       verhindert werden, daß der User Textteile ausschneidet.
  175.       Der  User  kann  nur  die  Gadgets  benutzen, deren Bit in der Maske
  176.       gesetzt  ist.  Die Definitionen für die einzelnen Gadgets liegen als
  177.       'HH_GADGET_...'-Defines  vor;  im  Normalfall  sorgt ein Wert von -1
  178.       (oder 0xFFFFFFFF) dafür, daß alle Gadgets benutzt werden können.
  179.  
  180.    ID (LONG *) (V3):
  181.       Dieses    Tag   darf   nur   bei   Anforderung   eines   asynchronen
  182.       HotHelp-Fensters  verwendet werden (siehe 'ASyncWindow'-Option).  Es
  183.       erhält als Argument die Adresse einer LONG-Variablen, in der HotHelp
  184.       nach dem Öffnen des Fensters dessen ID ablegt.  Nur mit Hilfe dieses
  185.       ID-Wertes  kann  das  Fenster später von außen über die 'HH_ASync...
  186.       ()'-Funktionen manipuliert werden.
  187.       Auf  das  Tag  kann  verzichtet werden, wenn keine Notwendigkeit für
  188.       weitere   Manipulationen   besteht   -   aber  Vorsicht:   wenn  mit
  189.       Notification (siehe Option 'Notification') gearbeitet wird, darf das
  190.       Programm  erst beendet werden, wenn auch alle geöffneten asynchronen
  191.       HotHelp-Fenster  wieder  geschlossen  sind.  Möchte der User nun das
  192.       aufrufende  Programm  beenden, kann dieses über 'HH_ASyncCloseWindow
  193.       ()'   alle   evtl.    noch  geöffneten  asynchronen  HotHelp-Fenster
  194.       schließen  -  sofern ihm die IDs dieser Fenster bekannt sind!  Daher
  195.       sollten  (zumindest bei Verwendung von Notification) die Fenster-IDs
  196.       mit  Hilfe  dieses  Tags  erfragt  und  festgehalten werden (bis das
  197.       Schließ-Signal eingetroffen ist).
  198.       Bei  der ID eines asynchronen Fensters handelt es sich immer um eine
  199.       ganze  Zahl  größer  als  0 (Ausnahme:  Wenn nacheinander 2147483647
  200.       asynchrone HotHelp-Fenster geöffnet werden, werden die folgenden IDs
  201.       negativ  sein...).   Der  Wert 0 tritt nur auf, wenn beim Öffnen des
  202.       Fensters   ein  Fehler  auftrat  und  kennzeichnet  (zusätzlich  zum
  203.       Rückgabewert  der  aufgerufenen  Funktion),  daß  das  Fenster nicht
  204.       geöffnet werden konnte.
  205.  
  206.    Key (BYTE *):
  207.       Zeiger  auf  einen String mit maximal HH_KEY_LEN Zeichen (incl.  das
  208.       '\0'-Zeichen  am  Ende),  in  denen  sich  der  Name des gewünschten
  209.       Schlüssels  befindet.   Patterns ('*') sind erlaubt; ein Leer-String
  210.       wird als "*" interpretiert.  Der String wird nicht verändert.
  211.       Der String wird nur beachtet, wenn keines der drei Flags 'ShowLast',
  212.       'ShowAbsolutLast' und 'ShowStart' verwendet wird.
  213.       Wird   bei   der  Verwendung  von  TagLists  kein  Schlüssel-Begriff
  214.       angegeben,  wird der zuletzt dargestellte Text angezeigt.  Wurde vom
  215.       Aufrufer  schon  vorher  ein  Fenster  geöffnet,  so  wird  der dort
  216.       gezeigte  Text  geladen  (wie  bei  'ShowLast')  - andernfalls zeigt
  217.       HotHelp  den  Text  an,  der  im  letzten geöffneten HotHelp-Fenster
  218.       sichtbar  war,  unabhängig  davon, wer dieses Fenster geöffnet hatte
  219.       (siehe 'ShowAbsolutLast').
  220.       Falls  ein  Schlüssel mehrmals in einem Projekt auftaucht, kann über
  221.       die  'KeyGroup'-Option  die  Nummer  der  Schlüssel-Liste  angegeben
  222.       werden, aus der der darzustellende Schlüssel entnommen werden soll.
  223.  
  224.    KeyGroup (WORD) (V3):
  225.       Über  diese  Option kann die Schlüssel-Gruppe ausgewählt werden, aus
  226.       der  der  gesuchte  Schlüssel  (siehe 'Key'-Option) entnommen werden
  227.       soll.   Diese  Möglichkeit  ist  sehr  nützlich,  wenn ein Schlüssel
  228.       mehrmals in einem Projekt, aber jeweils in unterschiedlichen Gruppen
  229.       auftaucht,  um  gezielt einen bestimmten dieser Schlüssel ansprechen
  230.       zu können.
  231.       Werte kleiner 1 oder größer 255 werden ignoriert.
  232.  
  233.    KeyLayout (BYTE):
  234.       Kann 4 verschiedene Werte annehmen.
  235.       0: Schlüssel-Listen  werden  spaltenweise ausgegeben; Spaltenabstand
  236.          siehe 'KeyTab'.
  237.       1: Schlüssel-Listen werden in einer einzigen Spalte ausgegeben.
  238.       2: Alle  Schlüssel  einer Liste werden - nur durch Blanks getrennt -
  239.          direkt hintereinander gesetzt.
  240.       3: Alle  Schlüssel  einer  Liste  werden hintereinander geschrieben;
  241.          getrennt  werden  sie  durch  ',  ';  vor  dem  letzten Schlüssel
  242.          stattdessen ' und ' und hinter dem letzten Schlüssel ein '.'.
  243.  
  244.    KeyTab (WORD);
  245.       Dies  ist  die  Position,  auf  die bei Schlüssel-Listen jede Spalte
  246.       tabuliert wird.  Wird nur benutzt, falls 'KeyLayout' == 0 ist.
  247.  
  248.    MaxHeight (WORD):
  249.    MaxWidth (WORD):
  250.       Über  dieser  beiden  Werte  kann  die  maximale Höhe und Breite des
  251.       Fensters  festgelegt  werden.   Werden die Optionen nicht angegeben,
  252.       kann das Fenster so groß wie der zugrundeliegende Bildschirm werden.
  253.  
  254.    MenuPort (struct MsgPort *) (V3):
  255.    MenuText (struct NewMenu *) (V3):
  256.       Mit  Hilfe  dieser  beiden Tags kann ein asynchrones HotHelp-Fenster
  257.       mit  Notification  (siehe Optionen 'ASyncWindow' und 'Notification')
  258.       um  ein  zusätzliches,  durch  den  Aufrufer frei definierbares Menu
  259.       erweitert   werden.    Dieses   erscheint   dann   rechts   von  den
  260.       Standard-Menus  ('Views',  'Suchen',  'Textmarken'),  die  innerhalb
  261.       jedes HotHelp-Fensters auftauchen.
  262.       Der  Aufbau  des  Menus  wird  durch  das Tag 'MenuText' festgelegt.
  263.       Übergeben   werden   muß   hier   die   Adresse   eines  Feldes  von
  264.       NewMenu-Strukturen.    Diese   Struktur  wird  ab  OS  2.0  von  der
  265.       GadTools-Library  verwendet,  um  einfach  neue  Menus  erzeugen  zu
  266.       können.   HotHelp  bearbeitet  die  Strukturen  (fast)  genauso  wie
  267.       GadTools,  mit  dem schönen Unterschied, daß die Umwandlung in echte
  268.       Menu-Strukturen   auch   unter   OS   1.3  funktioniert  -  ist  die
  269.       GadTools-Library vorhanden, wird sie verwendet; ansonsten werden die
  270.       Menu-Strukturen  von  Hand  erzeugt.   Ab OS 3.0 werden die Menus im
  271.       neuen NEWLOOK-Design erzeugt.
  272.       Bei  der Erstellung des Menus sollte darauf geachtet werden, daß nur
  273.       ein    einzelnes    Menu    ohne    Untermenus    definiert    wird.
  274.       CHECKIT-Menupunkte  sollten  ebenfalls nicht verwendet werden.  Auch
  275.       unter  OS  3.0  sollten  keine  mehrbuchstabigen Shortcuts angegeben
  276.       werden.   Es  dürfen  auch  nur  Text-Menuitems angelegt werden; die
  277.       Verwendung  von  Images  wird nicht unterstützt.  Die Verwendung von
  278.       NM_BARLABEL  ist  ausdrücklich  erlaubt;  unter OS 1.3 wird an ihrer
  279.       Stelle  ein halbhoher Leereintrag eingefügt.  Normale Shortcuts sind
  280.       ebenfalls  erlaubt  und können auf zwei Wegen angegeben werden:  wie
  281.       üblich   über   'nm_CommKey'  oder  integriert  in  'nm_Label'.   Im
  282.       letzteren   Fall   muß   das   Shortcut-Zeichen,  umgeben  von  zwei
  283.       Underscores,  am  Anfang des Strings eingefügt werden.  Ein Beispiel
  284.       dafür  wäre  z.B.   der  Sichern-Menupunkt:   "_s_Sichern".  HotHelp
  285.       erzeugt ein Item mit dem Text "Sichern" und dem Shortcut "s".  Diese
  286.       Möglichkeit  ist  sehr  nützlich, wenn die Menus an mehrere Sprachen
  287.       angepaßt   werden  sollen,  da  der  Shortcut  in  die  Beschriftung
  288.       integriert  werden  kann.   Bitte  beachten  Sie bei der Vergabe von
  289.       Tastatur-Kürzeln  jedoch,  daß  diese  sich  nicht  mit den normalen
  290.       Menu-Kürzeln überschneiden sollten.
  291.       Wählt  der  User  nun  einen  Punkt  aus  diesem Menu aus, so sendet
  292.       HotHelp   eine   Nachricht   an   den  über  'MenuPort'  angegebenen
  293.       Message-Port.    Bei  dieser  Nachricht  handelt  es  sich  um  eine
  294.       'HH_MenuMsg'-Struktur.   Hat das aufrufende Programm diese Nachricht
  295.       bearbeitet,  so darf sie nicht (wie sonst üblich) über 'ReplyMsg ()'
  296.       zurückgeschickt  werden;  statt  dessen  muß  sie  über 'FreeMem ()'
  297.       wieder freigegeben werden.
  298.       HotHelp legt keine Kopien der verwendeten Texte an, sondern arbeitet
  299.       mit  den Originalen.  Aus diesem Grund dürfen die Texte (solange das
  300.       Fenster  geöffnet  ist) auch nicht verändert werden.  Natürlich darf
  301.       auch  der Port erst wieder geschlossen werden, wenn auch das Fenster
  302.       geschlossen  wurde.  Voraussetzung für die Einrichtung eines eigenen
  303.       Menus   ist   die   Verwendung   eines   asynchronen   Fensters  mit
  304.       Notification,  so  daß alle dort genannten Einschränkungen auch hier
  305.       beachtet  werden  müssen.   Beide  Tags  müssen  zusammen  angegeben
  306.       werden.
  307.       Bitte  achten  Sie darauf, daß das angegebene Menu nicht die Grenzen
  308.       des   verwendeten   Screens  sprengen  sollte.   HotHelp  greift  in
  309.       Problemfällen  zwar auf den Standard-Zeichensatz Topaz-8 zurück; ist
  310.       jedoch  auch  dieser noch zu groß (50 Zeichen breiter Text auf einem
  311.       320-Pixel-LoRes-Screen...),   kann   das  Menu  nicht  mehr  korrekt
  312.       aufgebaut werden.
  313.  
  314.    NoActivation (BOOL) (V3):
  315.       Normalerweise  wird  ein  HotHelp-Fenster  beim  Öffnen  automatisch
  316.       aktiviert  -  dies  kann  jedoch  mit  Hilfe  dieses Tags verhindert
  317.       werden.   Wird  es  gesetzt, bleibt das vorher aktive Fenster aktiv.
  318.       Der  User  muß das HotHelp-Fenster dann explizit anklicken, um es zu
  319.       aktivieren.
  320.  
  321.    Notification (LONG) (V3):
  322.       Diese   Option   darf  nur  für  asynchrone  HotHelp-Fenster  (siehe
  323.       'ASyncWindow'-Option)  angegeben  werden.   Mit  ihr wird die Nummer
  324.       eines  Signal-Bits  (also  keine  Signal-Maske)  übergeben,  das der
  325.       aufrufende  Task vorher über 'AllocSignal ()' angefordert haben muß.
  326.       Wird  das  HotHelp-Fenster  nun  vom Benutzer geschlossen, so sendet
  327.       HotHelp dem aufrufenden Programm dieses Signal.
  328.       Wird  Notification  gewünscht,  so  sind  einige  wichtige  Dinge zu
  329.       beachten:    Die   beim   Öffnen  des  HotHelp-Fensters  verwendeten
  330.       Strukturen  (also  ggf.  HH_NewWindow, HH_Data und HH_Export) dürfen
  331.       erst  wieder verwendet werden, wenn das Notify-Signal eintrifft (und
  332.       das  Fenster  somit also geschlossen ist).  Da HotHelp die aktuellen
  333.       Werte  beim  Schließen  des  Fensters  in  den  genannten Strukturen
  334.       (sofern  sie  überhaupt  angegeben  wurden) ablegt, müssen diese bis
  335.       dahin unverändert erhalten bleiben.
  336.       Das  bedeutet  im  einzelnen:   Falls  die Strukturen lokal (auf dem
  337.       Stapel)  oder  dynamisch (über 'AllocMem ()' und Konsorten) angelegt
  338.       wurden,  dürfen sie erst nach dem Schließen des Fensters freigegeben
  339.       werden.
  340.       Der  Inhalt der Strukturen darf - solange das Fenster noch offen ist
  341.       -  weder  ausgelesen  noch  verändert  werden.   Insbesondere ist es
  342.       untersagt,  ein  weiteres HotHelp-Fenster unter Verwendung derselben
  343.       Strukturen   zu   öffnen,  solange  das  erste  Fenster  noch  nicht
  344.       geschlossen   wurde  (ansonsten  würden  beide  HotHelp-Fenster  mit
  345.       denselben  Strukturen  arbeiten,  was  zu  keinem  guten Ende führen
  346.       kann...).    Sollen  also  mehrere  asynchrone  HotHelp-Fenster  mit
  347.       Notification  gleichzeitig  geöffnet  sein, so muß für jedes Fenster
  348.       ein eigener Satz der evtl.  benötigten Strukturen angelegt werden.
  349.       Das   aufrufende  Programm  darf  erst  beendet  werden,  wenn  kein
  350.       HotHelp-Fenster  mit  Notification  mehr  geöffnet ist - andernfalls
  351.       würde HotHelp das Ende-Signal an einen nicht mehr existierenden Task
  352.       senden...
  353.       Wird  ein asynchrones HotHelp-Fenster ohne Notification geöffnet, so
  354.       wird jede Verbindung zwischen dem aufrufenden Programm und dem neuen
  355.       Fenster  entfernt  - die verwendeten Strukturen dürfen geändert oder
  356.       freigegeben  werden  und das Programm darf jederzeit beendet werden,
  357.       unabhängig  davon,  ab das HotHelp-Fenster noch geöffnet oder wieder
  358.       geschlossen ist.
  359.       Diese  Unabhängigkeit  hat  aber  auch  einen Nachteil:  Wie bei der
  360.       Beschreibung  der  HH_NewWindow-,  HH_Data-  und  HH_Export-Struktur
  361.       erklärt  wird,  werden  die  aktuellen  Daten  eines  Fensters  beim
  362.       Schließen  in  den  entsprechenden Variablen festgehalten.  Wird ein
  363.       weiteres  Fenster  mit  denselben  Strukturen  geöffnet, kann es die
  364.       Daten  des  vorhergehenden Windows übernehmen - der User kann in dem
  365.       neuen  Fenster  die Arbeit an dem Punkt fortsetzen, an dem er sie im
  366.       vorhergehenden  unterbrochen  hat.   Da aber asynchrone Fenster ohne
  367.       Notification nicht mehr mit dem aufrufenden Programm verbunden sind,
  368.       können  auch  die  aktuellen  Daten nicht mehr in den Strukturen des
  369.       Aufrufers  abgelegt  werden  und  stehen  daher beim nächsten Öffnen
  370.       eines  Fensters  auch nicht mehr zur Verfügung!  Weiterhin ist es in
  371.       diesem  Fall  auch nicht möglich, Informationen über ausgeschnittene
  372.       Textblöcke  zu  erhalten,  weshalb  zumindest  der  Export  über das
  373.       Spezial-Gadget gesperrt wird.
  374.       Um in diesem Fall dennoch eine gewisse Kontinuität zu gewährleisten,
  375.       können    die   'ShowAbsolutLast'-   und   'PosAbsolutLast'-Optionen
  376.       verwendet  werden,  die  die  Daten  des zuletzt geöffneten Fensters
  377.       nochmals anfordern (siehe dort).
  378.       ACHTUNG:   Tritt beim Öffnen des HotHelp-Fensters bereits ein Fehler
  379.       auf  (Rückgabewert  der  Funktion),  wird  das  Notify-Signal  NICHT
  380.       gesendet  - der Aufrufer sollte in diesem Fall also auch nicht 'Wait
  381.       ()'  darauf  ansetzen  (sonst  wartet  er  nämlich  bis zum jüngsten
  382.       Reset...).
  383.  
  384.    Parent_Screen (struct Screen *):
  385.       Zeiger  auf den Screen, auf dem sich das HotHelp-Fenster öffnen soll
  386.       bzw.  NULL, wenn der Workbench-Screen verwendet werden soll.
  387.       'Parent_Window'  und 'Parent_Screen' dürfen nicht zusammen angegeben
  388.       werden.
  389.  
  390.    Parent_Window (struct Window *):
  391.       Zeiger  auf  ein  Fenster,  auf dessen Screen sich das neue HotHelp-
  392.       Fenster öffnen soll.
  393.       'Parent_Window'  und 'Parent_Screen' dürfen nicht zusammen angegeben
  394.       werden.
  395.  
  396.    PosAbsolutLast (BOOL):
  397.       Ist das Flag gelöscht, nimmt das Fenster die durch die HH_NewWindow-
  398.       oder HH_Data-Struktur beschriebene Position und Größe ein.
  399.       Wird  das Flag jedoch gesetzt, so wird die Position eingenommen, die
  400.       das  zuletzt geöffnete HotHelp-Fenster hatte - unabhängig davon, von
  401.       welchem Programm es geöffnet wurde.
  402.       Für dieses Flag merkt sich die Library beim Schließen jedes Fensters
  403.       die  Fenster-Position  und  -Ausmaße  -  sofern  dies nicht über die
  404.       'Forget'-Option unterbunden wird.
  405.  
  406.    PrintTitle (BYTE):
  407.       Kann 3 verschiedene Werte annehmen.
  408.       0: Der  Titel  eines  Textes  (String  in  der Titelzeile) wird beim
  409.          Ausdruck eines Textes nie mit ausgegeben.
  410.       1: Nur  beim  Ausdruck  des  gesamten  Textes  wird  der  Titel  mit
  411.          ausgegeben.
  412.       2: Der Titel wird immer mit ausgedruckt.
  413.  
  414.    Priority (BYTE) (V3):
  415.       Dieser  Wert  zwischen  -128  und  +127  gibt  für  ein  asynchrones
  416.       HotHelp-Fenster  die  Priorität  des  Prozesses  an, der das Fenster
  417.       verwaltet.   0  ist  der normale Wert; Werte < -10 oder > 10 sollten
  418.       vermieden werden.
  419.  
  420.    Project (BYTE *):
  421.       Zeiger  auf  einen  String mit maximal HH_PROJECT_LEN Zeichen (incl.
  422.       das  '\0'-Zeichen  am  Ende), in denen sich der Name des gewünschten
  423.       Projektes  befindet.   Patterns  ('*') sind erlaubt; ein Leer-String
  424.       wird als "*" interpretiert.  Der String wird nicht verändert.
  425.       Der String wird nur beachtet, wenn keines der drei Flags 'ShowLast',
  426.       'ShowAbsolutLast' und 'ShowStart' verwendet wird.
  427.       Wird  bei  der  Verwendung von TagLists kein Projekt-Name angegeben,
  428.       wird  der  zuletzt  dargestellte Text angezeigt.  Wurde vom Aufrufer
  429.       schon  vorher  ein  Fenster geöffnet, so wird der dort gezeigte Text
  430.       geladen  (wie  bei  'ShowLast') - andernfalls zeigt HotHelp den Text
  431.       an,   der   im  letzten  geöffneten  HotHelp-Fenster  sichtbar  war,
  432.       unabhängig   davon,   wer   dieses  Fenster  geöffnet  hatte  (siehe
  433.       'ShowAbsolutLast').
  434.  
  435.    PubScreen (BYTE *) (V3):
  436.       Über  dieses  Tag kann ein Zeiger auf einen String übergeben werden,
  437.       der  den Namen eines Public-Screens beinhaltet.  Das HotHelp-Fenster
  438.       wird  dann  auf  diesem  Screen geöffnet.  Wird eine NULL angegeben,
  439.       öffnet  das  Fenster  sich auf dem Default-PublicScreen.  Falls kein
  440.       Public-Screen  dieses  Namens existiert, kann auch das Fenster nicht
  441.       geöffnet werden.
  442.       Diese  Option  wird unter KickStart 1.3 ignoriert, da Public Screens
  443.       dort nicht unterstützt werden.
  444.  
  445.    Quiet (BOOL):
  446.       Ist das Fenster das erste geöffnete HotHelp-Fenster, so wirkt dieses
  447.       Flag  wie der 'quiet'-Parameter der 'HH_OpenAll ()'- Funktion (siehe
  448.       dort).   War bereits ein Fenster offen, sind auch die entsprechenden
  449.       Ressourcen bereits offen und das Flag wird ignoriert.
  450.  
  451.    RamIcon (BYTE *) (V3):
  452.       Werden beim Export in eine Datei (siehe 'UseRamIcon') Icons erzeugt,
  453.       so  wird  dazu  normalerweise  die  Datei 'HOTHELP:Icons/FileExport'
  454.       verwendet.   Bei  einem  Export  in  eine Datei wird dieses File als
  455.       '.info'-Datei  verwendet.  Über dieses Tag kann nun der vollständige
  456.       Pfadname  einer anderen Datei angegeben werden, die HotHelp als Icon
  457.       für  in Dateien exportierte Texte verwenden soll.  Bei der Datei muß
  458.       es  sich  um ein normales Projekt-Icon handeln, wie es z.B.  mit dem
  459.       IconEdit erstellt werden kann.  Der Name der Datei darf nicht länger
  460.       als  HH_ICON_LEN  Bytes  sein  (incl.   '\0'-Byte  am Ende).  Da die
  461.       Endung  '.info'  automatisch  angehängt  wird,  darf  sie  nicht mit
  462.       angegeben werden!
  463.  
  464.    ScreenToFront (BOOL) (V3):
  465.       Wird  dieses Flag auf TRUE gesetzt, wird unmittelbar nach dem Öffnen
  466.       des  Fensters  der  zugrunde  liegende Bildschirm in den Vordergrund
  467.       gebracht.   HotKeyHelp  verwendet  dieses Flag, wenn die 'Nur Public
  468.       Screens'-Option  in  den HotHelp-Prefs angewählt wurde, der aktuelle
  469.       Screen  aber  nicht  public  ist,  um den Default-Public-Screen nach
  470.       vorne zu holen.
  471.       Ist  das  Flag  gelöscht,  wird  die  Reihenfolge  der Screens nicht
  472.       geändert.
  473.  
  474.    ScrollDelay (BYTE):
  475.    ScrollSpeed (BYTE):
  476.       Die  erste  Variable bestimmt die Verzögerungszeit vor Eintreten der
  477.       Scroll-Wiederholung, die zweite die Wartezeit zwischen den einzelnen
  478.       Scroll-Vorgängen (jeweils in 50-tel Sekunden).
  479.       Die   Werte   gelten   nur   für   das  Scrolling  über  die  beiden
  480.       Scroll-Gadgets  oder  über  die  Maus;  beim Tastatur-Scrolling wird
  481.       automatisch die systeminterne Tasten-Verzögerung benutzt.
  482.  
  483.    SearchAll (BOOL) (V3):
  484.    SearchBack (BOOL) (V3):
  485.    SearchIgnore (BOOL) (V3):
  486.       Die  drei  Optionen  belegen  die drei im Such-Fenster einstellbaren
  487.       Optionen    (Alles   durchsuchen,   Rückwärts   suchen,   Groß/Klein
  488.       ignorieren) vor.
  489.  
  490.    SearchArea (BYTE): 
  491.       Kann 3 verschiedene Werte annehmen.
  492.       0: Querverweise  werden  nur im aktuellen Projekt gesucht; wird dort
  493.          kein   passender  Schlüssel  gefunden,  wird  eine  Fehlermeldung
  494.          ausgegeben.
  495.       1: Querverweise werden zuerst nur im aktuellen Projekt gesucht; wird
  496.          kein  passender  Schlüssel  gefunden,  werden  auch  alle übrigen
  497.          Projekte untersucht.
  498.       2: Querverweise werden immer in allen Projekten gesucht.
  499.  
  500.    ShowAbsolutLast (BOOL):
  501.       Ist  dieses  Flag  gelöscht,  wird  der  durch  'Project'  und 'Key'
  502.       angegebene Text geladen.
  503.       Ist  es  gesetzt,  so  wird der Text dargestellt, der in dem zuletzt
  504.       geöffneten  HotHelp-Fenster sichtbar war - unabhängig davon, welches
  505.       Programm  dieses  letzte  Fenster  geöffnet  hatte!   War  noch kein
  506.       Fenster  geöffnet,  wird  die  Standard-Startseite  angezeigt.   Für
  507.       dieses Flag merkt sich die Library beim Schließen jedes Fensters den
  508.       dort dargestellten Text - sofern dies nicht über die 'Forget'-Option
  509.       unterbunden wird.
  510.       'ShowLast', 'ShowAbsolutLast' und 'ShowStart' dürfen nicht gemeinsam
  511.       angegeben werden.
  512.  
  513.    ShowLast (BOOL):
  514.       Ist  dieses  Flag  gelöscht,  wird  der  durch  'Project'  und 'Key'
  515.       angegebene Text geladen.
  516.       Ist das Flag hingegen gesetzt und hat das aufrufende Programm vorher
  517.       bereits  mindestens  ein  HotHelp-Fenster  geöffnet,  wird  der dort
  518.       zuletzt dargestellte Text wieder dargestellt.  War noch kein Fenster
  519.       geöffnet,  wird  die  Standard-Startseite angezeigt.
  520.       'ShowLast', 'ShowAbsolutLast' und 'ShowStart' dürfen nicht gemeinsam
  521.       angegeben werden.
  522.  
  523.    ShowStart (BOOL):
  524.       Ist  dieses  Flag  gelöscht,  wird  der  durch  'Project'  und 'Key'
  525.       angegebene Text geladen.
  526.       Ist   es  jedoch  gesetzt,  wird  die  in  HotHelpPref  eingestellte
  527.       Startseite   geladen   und   dargestellt   (normalerweise   'HotHelp
  528.       Startseite').
  529.       'ShowLast', 'ShowAbsolutLast' und 'ShowStart' dürfen nicht gemeinsam
  530.       angegeben werden.
  531.  
  532.    SmartColors (BOOL) (V3):
  533.       Wird  dieses  Flag  gesetzt,  untersucht  HotHelp  beim Öffnen eines
  534.       Fensters  die  Palette  des entsprechenden Screens und versucht (!),
  535.       die  am  besten geeigneten Farben auszuwählen (was zumindest bei den
  536.       1.3-  und  2.0-Standardfarben  auch  sehr gut funktioniert).  Findet
  537.       HotHelp  genügend kontrastreiche Farben, werden die Voreinstellungen
  538.       über die 'Color...'-Tags ignoriert.
  539.  
  540.    SmartFont (BOOL) (V3):
  541.       Beim  Öffnen  eines  Fensters  kann HotHelp zwischen einer Reihe von
  542.       Zeichensätzen  entscheiden,  die  benutzt  werden  können:  der über
  543.       'FontName'  und 'FontSize' angeforderte Zeichensatz bzw.  (wenn hier
  544.       keiner    angegeben    wird)    der   in   HotHelpPref   ausgewählte
  545.       Default-Zeichensatz,  der  Zeichensatz  des Windows, das evtl.  über
  546.       'Parent_Window'  angegeben  wurde,  der Zeichensatz des Screens, auf
  547.       dem das Fenster sich öffnet und der Default-Zeichensatz des Systems,
  548.       der über die System-Prefs festgelegt wird.
  549.       Wird  nun  diese Option angegeben, untersucht HotHelp als erstes die
  550.       Auflösung  des  Screens,  auf  dem das Fenster geöffnet werden soll.
  551.       Handelt es sich um einen Interlace-Screen, sollte ein Font mit einer
  552.       Höhe  um  16  verwendet  werden,  sonst  einer  mit einer Höhe um 8.
  553.       Anschließend  wählt  HotHelp  aus  den  bis  zu  vier  zur Verfügung
  554.       stehenden  Fonts  dann  denjenigen aus, der dieser Größe am nächsten
  555.       kommt.   Falls mehrere Fonts gleich hoch sind, wird in der folgenden
  556.       Reihenfolge ausgewählt:  Angeforderter bzw.  Pref-Font, Screen-Font,
  557.       Window-Font, Default-Font.
  558.       'FastFont',  'SmartFont' und 'DefaultFont' dürfen nicht gleichzeitig
  559.       angegeben werden.
  560.  
  561.    SpecialText (BYTE *) (V3):
  562.       Wie  das  Programm  HotKeyHelp  zeigt,  kann  sich die Bedeutung des
  563.       Spezial-Icons  im  Export-Modus  von  Mal zu Mal ändern:  bei Aufruf
  564.       über  Shift-Help  wird  der über dieses Gadget exportierte Text über
  565.       die  ARexx-Schnittstelle  an  den  entsprechenden  Editor geschickt;
  566.       wurde  ein  Fenster über die drei anderen HotKeys geöffnet, wird der
  567.       Text über einen InputHandler an das System weitergegeben.
  568.       Da  das  Spezial-Gadget  den  exportierten  Text  lediglich  an  das
  569.       aufrufende  Programm weiterreicht, hängt seine konkrete Wirkung also
  570.       nur von diesem Programm ab.
  571.       Um  dem  Anwender  hier  eine  bessere Übersicht zu geben, kann über
  572.       dieses  Tag  ein  Text  angegeben  werden,  der dann von HotHelp als
  573.       Beschriftung  des Gadgets verwendet wird.  HotKeyHelp gibt hier z.B.
  574.       entweder  "Editor"  oder  "Einfügen"  an, je nachdem, welcher HotKey
  575.       verwendet  wurde.   Dadurch  wird  dem  User  schneller klar, welche
  576.       Aktion   er   mit  diesem  Gadget  eigentlich  auslösen  kann.   Als
  577.       Defaulttext wird wie bisher "Spezial" verwendet.
  578.       Normalerweise    verwendet   HotHelp   das   erste   Zeichen   einer
  579.       Gadget-Beschriftung  als  Tastatur-Shortcut,  der zusammen mit einer
  580.       der  Amiga-Tasten  benutzt  werden  kann.   Soll ein anderer als der
  581.       erste  Buchstabe  verwendet  werden, so muß diesem Zeichen im String
  582.       das  '_'-Zeichen  vorangestellt  werden.   Das  Zeichen wird aus der
  583.       Gadget-Beschriftung  entfernt  und  der  folgende Buchstabe wird als
  584.       Shortcut verwendet.
  585.       Es  dürfen  lediglich brauchbare Werte übergeben werden - Fehler wie
  586.       zu   lange   Texte  werden  nicht  abgefangen  und  können  beliebig
  587.       unangenehme Folgen haben...  Auch sollte darauf geachtet werden, daß
  588.       ein  ShortCut nicht mit den übrigen Gadget-Shortcuts im Export-Modus
  589.       kollidieren darf.
  590.  
  591.    StackSize (LONG):
  592.       Hat nichts mit dem Stack zu tun, sondern gibt lediglich an, wieviele
  593.       Schritte  sich  HotHelp merken kann, damit der User sie ggf.  wieder
  594.       zurücknehmen  kann.  Je größer dieser Wert, desto mehr Speicherplatz
  595.       wird auch verbraucht.
  596.  
  597.    StdNumPad (WORD) (V3):
  598.         Dieses  Flag beeinflußt die Wirkungsweise der Tasten '4' und '6' auf
  599.         dem  numerischen  Tastenfeld.  Unter  Version  2.00  wurden  sie als
  600.         Shortcuts zu den beiden Pfeil-Gadgets verwendet, deren Belegung sich
  601.         inzwischen  geändert  hat.  Außerdem  bietet  HotHelp 3 nun auch die
  602.         Möglichkeit   des   Links-   und   Rechts-Scrollings,   so   daß  es
  603.         wünschenswert wäre, dazu ebenfalls diese beiden Tasten (entsprechend
  604.         ihrer frontalen Beschriftung) zu verwenden.
  605.         Dazu  kann  nun  über  diese Option festgelegt werden, ob die beiden
  606.         Tasten  wie  bei  HotHelp  2  zum  Blättern  durch  mehrere zu einem
  607.         Schlüsselbegriff  gehörenden  Hilfstexte  dienen  (0),  ob  sie  als
  608.         Tastaturkürzel  für die Pfeil-Aktionssymbole verwendet werden können
  609.         (1)  oder ob sie als Tastaturkürzel für die horizontalen Rollsymbole
  610.         verwendet werden sollen.
  611.  
  612.    UseRamIcon (BOOL) (V3):
  613.       Über diese Option kann bestimmt werden, ob beim Export in eine Datei
  614.       ein  Icon  erzeugt  werden soll (TRUE) oder nicht (FALSE).  Der Name
  615.       der  Datei,  die  als  Icon verwendet wird, kann noch über 'RamIcon'
  616.       bestimmt werden.
  617.