Topic : TOS - das Betriebssystem Author : Version : tos.hyp (5. März 2013) Subject : Programmieren/Atari Nodes : 3001 Index Size : 93602 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Titel @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File8.15.2 menu_bar TOS Name: »Menu Bar« - Menüleiste zeigen, löschen bzw. installieren. AES-Nummer: 30 Deklaration: int16_t menu_bar ( OBJECT *me_btree, int16_t me_bshow ); Beschreibung: Die Funktion führt abhängig vom Parameter me_bshow verschiedenen Operationen aus: me_bshow Bedeutung -3 Low-Word der Menüleiste einer Applikation erfragen. -2 High-Word der Menüleiste einer Applikation erfragen. -1 den Besitzer (Applikation) der Menüzeile erfragen. Da diese laufend wechseln kann, muß zur sicheren Abfrage der Bildschirm per wind_update gesperrt werden. 0 Menüzeile löschen 1 Menüzeile zeichnen 100 Menüzeile installieren, ohne eine Umschaltung der obersten Applikation zu erzwingen. Definitionen: MENU_HIDE = 0 MENU_SHOW = 1 MENU_INSTL = 100 Hinweis: Der Parameter me_btree ist ein Zeiger auf den Objektbaum des entsprechenden Menüs. Am Ende des Programms darf nicht vergessen werden, die Menüzeile wieder abzumelden. Mit menu_bar(-2/-3) kann die Baumadresse der Menüleiste einer Applikation erfragen. menu_bar(-2) liefert das High-Word und menu_bar(-3) das Low-Word. Nur Verfügbar wenn der Cookie 'MbAr' oder 'AmAN' vorhanden ist. OBJECT *get_menu(int apid) { unsigned int hi = menu_bar((OBJECT *)apid, -2); unsigned int lo = menu_bar((OBJECT *)apid, -3); OBJECT *tree = (OBJECT *)(((unsigned long)hi << 16) | lo); return tree; } Das Vorhandensein der erweiterten Möglichkeiten ist über die Funktion appl_getinfo (Opcode 6) abfragbar. Ergebnis: Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 0 zurückgegeben wird. Ein Wert von -1 signalisiert, daß es keinen Eigner der Menüzeile gibt. Verfügbar: All AES versions. Gruppe: Menüs Querverweis: Binding OBJECT