•  Back 
  •  Formularfunktionen 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
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.11.14  xfrm_popup                                                TOS

 Name:         »Form Popup« - verwaltet ein Popup-Menü

 AES-Nummer:   135

 Deklaration:  int16_t xfrm_popup( OBJECT *tree, int16_t x, int16_t y, 
               int16_t firstscrlob, int16_t lastscrlob, int16_t 
               nlines, void cdecl (*init)(OBJECT *tree, int16_t 
               scrollpos, int16_t nlines, void *param), void *param, 
               int16_t *lastscrlpos )

 Beschreibung: Die Funktion stellt ein Popup-Menü auf dem Bildschirm 
               dar, und übernimmt dessen Verwaltung. Es gilt:

                Parameter    Bedeutung

                tree         Adresse des Objektbaumes
                x            x-Koordinate
                y            y-Koordinate, um die die Box zentriert 
                             werden soll.
                firstscrlob  Objektnummer des ersten scrollenden 
                             Objekts
                lastscrlob   Objektnummer des letzten scrollenden 
                             Objekts
                nlines       Anzahl tatsächlich vorhandener Zeilen
                init         Callback- Routine zum Umsetzen der 
                             Objekte. <tree>, <param> und <nlines> 
                             sind die Parameter, die an xfrm_popup 
                             übergeben wurden. <scrollpos> gibt die 
                             aktuelle Scrollposition an. Sie liegt in: 
                             0..(nlines-(lastscrlob-firstscrlob+1). 
                             Soll das Popup nicht scrollen, muß init 
                             == NULL übergeben werden.
                param        benutzerdefinierter Parameter
                lastscrlpos  letzte Scrollposition

               Hinweis: Falls die Parameter x und y den Wert 0 
               besitzen, werden die entsprechenden Werte aus der 
               Objektstruktur beachtet, und das zentrieren entfällt. 
               Es wird immer dafür gesorgt, daß das Popup vollständig 
               auf dem Bildschirm liegt.

               Wählbare Objekte müssen den Status SELECTABLE, nicht 
               wählbare Objekte den Status DISABLED erhalten. Das 
               Objekt mit der Nummer 0 im Objektbaum, sollte den Typ 
               G_BOX oder G_IBOX besitzen.

                 1. Der Objektbaum wird vor dem ersten Zeichnen 
                    automatisch durch Aufruf der init()- Routine 
                    initialisiert.

                 2. Die Variable <scrollpos> braucht nicht 
                    initialisiert zu werden, das System beginnt immer 
                    bei Scrollpos 0.

                 3. Die Init-Routine ist dafür verantwortlich, das 
                    erste/und/oder letzte Scrollobjekt mit einem Pfeil 
                    zu initialisieren.

                 4. Die scrollenden Objekte sind <firstscrlob> .. 
                    <lastscrlob>. Die Objektnummern müssen direkt 
                    aufeinanderfolgen. Die Objekte müssen 
                    untereinander liegen und alle dieselbe Größe 
                    haben.

 Ergebnis:     Die Funktion liefert die Nummer des gewählten Objektes 
               aus dem Popup-Menü oder den Wert -1.

 Verfügbar:    Die Funktion steht ab MagiC 5.03 zur Verfügung.

 Gruppe:       Formulare

 Querverweis:  Binding   OBJECT   form_popup