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 */
}
|