home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Tex / td187src.lzh / MTMENUS.D < prev    next >
Text File  |  1991-06-08  |  2KB  |  42 lines

  1. DEFINITION MODULE mtMenus;
  2.  
  3. FROM SYSTEM     IMPORT  ADDRESS;
  4. FROM MagicSys   IMPORT  sINTEGER;
  5.  
  6.  
  7. TYPE    MENUBAR;  (* Die Menu-Variable *)
  8.  
  9.  
  10. PROCEDURE NewMenu  (menu: ADDRESS; VAR bar: MENUBAR): BOOLEAN;
  11. (* Erzeugt eine neue Menu-Variable *)
  12.  
  13. PROCEDURE FreeMenu (VAR bar: MENUBAR);
  14. (* gibt die Menu-Variable wieder frei.  bar ist anschliesend undefiniert! *)
  15.  
  16. PROCEDURE DrawMenu (bar: MENUBAR; window: sINTEGER; VAR x, y, w, h: sINTEGER);
  17. (* Zeichnet das Menu in ein Fenster.  Das Fenster MUSS eine Infozeile ent-
  18.  * halten!  Retuniert ein Rechteck, welches Sie Ihrer Hauptevent-Routine
  19.  * übergeben (als MUM1-Rechteck oder MUM2-Rechteck, mit Modus EnterRect).
  20.  *
  21.  * DrawMenu mu₧ bei jeder Veänderung des Fensters (Grö₧e, Position und Top-
  22.  * Window) aufgerufen werden, um jeweils die richtige Anzeige und das richtige
  23.  * Reaktionsrechteck zu erhalten.
  24.  *)
  25.  
  26. PROCEDURE HandleMenu (VAR menu, entry: sINTEGER);
  27. (* Wenn ein Maus-Rechteck-Event (MUM1 oder MUM2) auftritt, sollten Sie zunächst
  28.  * prüfen, ob dem oberstem Window ein MENUBAR zugeordnet ist. Anschlie₧end
  29.  * rufen Sie die Prozedur HandleMenu auf, die das Menu-Managment übernimmt.
  30.  * Die Prozedur retouniert das selektierte Menü und den selektierten Eintrag,
  31.  * bzw. in beiden Werten -1, wenn der Benutzer das Menü abgebrochen hat.
  32.  *
  33.  * Sobald ein Dropdown-Menü auf dem Bildschirm zu sehen ist, können Sie die
  34.  * Einträge in gewohnter Weise mit der Maus selektieren. Sie können aber auch
  35.  * per Tastatur anwählen:
  36.  *
  37.  * RETURN oder ENTER selektiern einen Eintrag; mit den Cursor-Hoch/Runter-
  38.  * Tasten wählen Sie einen Eintrag aus; UNDO bricht das Menüab.
  39.  *)
  40.  
  41. END mtMenus.
  42.