website logo
Auteur
avatar
AmiDARK

Forum » » Création-Développement » » Pb sur les écrans Intuition


Posté : 26-02-2012 00:07 icone du post

Salut,

Ecoute, demain je vais essayer, en partant de rien, d'ouvrir un écran intuition et d'y coller une fenêtre ...
Voire si j'obtient le même résultat que toi .. et repartant de 0.

EDIT :
J'ai fait un test à partir du projet par défaut "OS4 Window" de AmiDevCPP.
J'ai rajouté un écran et j'ai lié la fenêtre créee à l'écran.
Je n'ai pas le pbe que Sharynn rencontre.

Voila le code source complet :

#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 *)& nbsp;IExec->OpenLibrary("intuition.library",50)))
  {
    if((IIntuition = (struct IntuitionIFac e *) IExec->GetInterface((struct Library *)IntuitionBase ,"main",1,NULL)))
    {
      struct Window *win;
      struct Screen *scrn;

      scrn = IIntuition->OpenScree nTags( NULL, SA_Type, PUBLICSCREEN,    SA_Pu bName, "Test",   SA_LikeWorkbench, FALSE,
              ;                           & nbsp;            &n bsp; SA_Width, 640,        &n bsp;   SA_Height, 480,      & nbsp;SA_Depth, 5,
              ;                           & nbsp;            &n bsp; SA_Title, "Test Screen",  SA_SysFont, 1,&nbs p;       TAG_DONE );

      if((win = IIntuition->OpenWi ndowTags(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& nbsp;signal = IExec->Wait(SIGBREAKF_CTRL_C | SIGBREAKF_C TRL_E | SIGBREAKF_CTRL_F);
          if(signal ==  SIGBREAKF_CTRL_C) break;
          else if(sign al == SIGBREAKF_CTRL_E) IIntuition->ShowWindow(win,IntuitionB ase->ActiveWindow);
          else if(sign al == SIGBREAKF_CTRL_F) IIntuition->HideWindow(win);
        }

        IIntuition->CloseWindow(wi n);
      }
      else IDOS->Printf("Window co uldnt be created\n");

      IExec->DropInterface((struct Inte rface *)IIntuition);
    }
    else IDOS->Printf("No Interface\n");

    IExec->CloseLibrary((struct Library *)In tuitionBase);
  }
  else IDOS->Printf("Needs intuition.library V50\ n");

  return( 0 );
}



@ +
AmiDARK

Message édité par : AmiDARK / 26-02-2012 12:18

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=1211&forum=14