int GrafikHandle, ApplikationsHandle; /* Daten zur Kommunikation mit dem System */ int work_in[11], work_out[57]; int main(void) { #define ENDE = -1; int aktion = 0; ApplikationsHandle = appl_init(); /* Melde Applikation an */ GrafikHandle = graf_handle( ... ); /* Ermittle das Handle */ for (i=0; i<10; work_in[i++] =1); work_in[10]=2; /* Eroeffnen der virtuellen Workstation */ v_opnvwrk(work_in, &GrafikHandle, work_out); . . . do { event = evnt_multi (MU_MESAG|MU_KEYBD|MU_BUTTON, ..., msg, ...); if (event & MU_MESAG) { /* Nachricht */ switch (msg[0]) { case MN_SELECTED: /* Menuepunkt ausgewaehlt */ switch .... { /* Menuepunkt unterscheiden */ } case WM_REDRAW: /* ein Fensterbereich muss neu gezeichnet werden */ NeuZeichnen(msg); break; case WM_TOPPED: /* Anderes Fenster ist nach vorn geholt worden */ case WM_CLOSED: /* Fenster geschlossen */ aktion = ENDE; break; case WM_SIZED: /* Fenster wurde in der Groesse veraendert */ } } if (event & MU_KEYBD) { /* Taste gedrueckt: Scancode und ASCII untersuchen */ aktion = ENDE; } if (event & MU_BUTTON) { /* Maustaste wurde betaetigt */ } } (aktion != ENDE); v_clsvwk(GrafikHandle); /* schliesse die Workstation wieder */ appl_exit(); /* Applikation abmelden */ } |
Computer-Oldies - Atari ST Programmierung - Informatik-Ecke | (C) Copyright 1999 Arnold Willemer |