Listing 5: Ein Fenster verstecken und wieder anzeigen. /* FensterVerstecken.c */ #define __USE_BASETYPE__ #include #include #include struct IntuitionBase *IntuitionBase; struct IntuitionIFace *IIntuition; int main() { if((IntuitionBase = (struct IntuitionBase *) IExec->OpenLibrary("intuition.library",50))) { if((IIntuition = (struct IntuitionIFace *) IExec->GetInterface((struct Library *)IntuitionBase,"main",1,NULL))) { struct Window *win; if((win = IIntuition->OpenWindowTags(NULL, WA_Title, "FensterVerstecken", WA_Width,300, WA_Height,100, WA_DepthGadget,TRUE, WA_Hidden, TRUE, /* erzeugen aber nicht anzeigen */ TAG_DONE))) { for(;;) { const ULONG signal = IExec->Wait(SIGBREAKF_CTRL_C | SIGBREAKF_CTRL_E | SIGBREAKF_CTRL_F); if(signal == SIGBREAKF_CTRL_C) break; else if(signal == SIGBREAKF_CTRL_E) IIntuition->ShowWindow(win,IntuitionBase->ActiveWindow); else if(signal == SIGBREAKF_CTRL_F) IIntuition->HideWindow(win); } IIntuition->CloseWindow(win); } else IDOS->Printf("Fenster läst sich nicht erzeugen\n"); IExec->DropInterface((struct Interface *)IIntuition); } else IDOS->Printf("kein main Interface in der intuition.library\n"); IExec->CloseLibrary((struct Library *)IntuitionBase); } else IDOS->Printf("es fehlt intuition.library V50\n"); return( 0 ); }