Pages vues depuis 25/07/2007 : 25 263 489
Index du forum »» Création-Développement »» Pb sur les écrans Intuition
#define __USE_BASETYPE__
#!include! <proto/exec.h>
#!include! <proto/dos.h>
#!include! <proto/intuition.h>
#!include! <intuition/screens.h>
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;
struct Screen *scrn;
scrn = IIntuition->OpenScreenTags( NULL, SA_Type, PUBLICSCREEN, SA_PubName, "Test", SA_LikeWorkbench, FALSE,
SA_Width, 640, SA_Height, 480, SA_Depth, 5,
SA_Title, "Test Screen", SA_SysFont, 1, TAG_DONE );
if((win = IIntuition->OpenWindowTags(NULL,
WA_Title, "Hide Window with CTRL_F",
WA_CustomScreen, scrn,
WA_Width,300,
WA_Height,100,
WA_DepthGadget,TRUE,
WA_Hidden, FALSE,
WA_Activate, TRUE,
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("Window couldnt be created\n");
IExec->DropInterface((struct Interface *)IIntuition);
}
else IDOS->Printf("No Interface\n");
IExec->CloseLibrary((struct Library *)IntuitionBase);
}
else IDOS->Printf("Needs intuition.library V50\n");
return( 0 );
}