•  Back 
  •  HNDL_OBJ 
  •  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.22.16.1  Beispiel zu HNDL_OBJ                                    TOS

/* Der folgende Code ist ein Beispiel für eine Implementation
   der handle_exit Funktion, wie sie z.B. als Parameter bei
   wdlg_create vorkommt. */

int16_t cdecl handle_exit ( void *dialog, EVNT *events, int16_t obj,
                         int16_t clicks, void *data )
{
    /*
     * Ereignis oder Objektnummer?
     * Alle Ereignisse außer HNDL_CLSD werden bei diesem Beispiel
     * ignoriert
     */

    if ( obj < 0 )
    {
        if ( obj == HNDL_CLSD )     /* Closer betätigt? */
            return( 0 );            /* beenden */
        if ( obj == HNDL_EDIT )
        {
            /*  In Fensterdialogen kann es nützlich sein, Tasten-
                kombinationen mit Control in Eingabefeldern zu igno-
                rieren, damit Shortcuts wie z.B. Ctrl-U, Ctrl-W oder
                Ctrl-Q in der Eventschleife des Programms abgearbei-
                tet werden können. In diesem Fall sollte nach HNDL_EDIT
                eine 0 zurückgeliefert werden, damit die Taste nicht
                von objc_edit bearbeitet wird.
            */
        }
    }
    else
    {                         /* ein Objekt ist angewählt worden  */
        switch ( obj )        /* Aktionen einleiten (falls nötig) */
        {
            case ...
              .
              .
              .
            case MY_EXIT_OBJECT:    ..... return( 0 );  /* beenden */
        }
    }
    return( 1 ); /* weitermachen */
}