j'ai un petit problème avec Next, j'essaie d'ouvrir une fenetre en recopiant le code qui se trouve dans la procédure
iCreateGraphics3DWin(, mais je ne sais pas pourquoi, les coordonnées 0,0 de "la zone de dessin" crée par la fonction iCreateEngineGadget() semble se trouver en lieu et place du menu system de la fenetre windows....
bon, j'ai pas trop fouillassé le biniou, non plus... pis fallait pis t'être pas faire comme ça... 
Code : Tout sélectionner
;{ 
; ------------------------------------------------------------
;   n3xt-D exemples
;
;   Sample 038  :  test primitives 2D
;   Historique  :
;     25/04/09  19:16    TMyke
;
; ------------------------------------------------------------
;}
; Include files 
IncludePath "includes"   :   IncludeFile "n3xtD_PB.pbi"
;----------------------------------------------------------
;{ déclaration constantes
  #TERMINER_APPLICATION =1
Enumeration ; fenêtres
  #FMAIN
  
EndEnumeration
Enumeration ; menu
  #MMAIN
EndEnumeration
Enumeration ; item menu
  #MMAIN_QUITTER
EndEnumeration
Enumeration ; gadget
  
EndEnumeration
;}
;{ déclaration structure
;}
;{ déclaration variable globale
Global	anglex.f, angley.f, flagXDown.w
Global	mox.f, omx.f, moy.l, omy.l
Global *app.l, Quit.l
Global *font.IGUIFont
;}
;{ déclaration procedure
Procedure FenetrePrincipale()
  
  If OpenWindow(#FMAIN,0,0,640,480,"",#PB_Window_SystemMenu |#PB_Window_ScreenCentered)
    hwnd.l = WindowID(#FMAIN)
    If CreateMenu(#MMAIN,hwnd)
      MenuTitle("Fichier")
        MenuItem(#MMAIN_QUITTER,"Quitter")
    EndIf
  		
    width.l = WindowWidth(#FMAIN) : height = WindowHeight(#FMAIN)
       ;  Init PB modules
    If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 
      End
    EndIf
    
    iInitEngine()
    
    width = width-20 : height-20-MenuHeight()
    
    OpenWindowedScreen(WindowID(#FMAIN), 10, 10, width, height, #False, 0, 0)
    
    *app.l = iCreateEngineGadget(hwnd, #EDT_OPENGL, width, height, #True, #True)
    If *app = #Null
    	End
    EndIf
    *texture.ITexture = iLoadTexture("media/five.bmp")
    *font.IGUIFont = iGetFont()
    ;-----------------------------------
    ; load font png
    iLoadFont("media/font2.bmp")
    quit = 0
    Repeat
      Repeat
        event = WindowEvent()
        Select event
               
            ;{ traitement evénement gadget
          Case #PB_Event_Gadget
            Select EventGadget()
  
            EndSelect ;}
            
  
            ;{ traitement autres évenements
            
            
          Case #PB_Event_CloseWindow
            quit = #TERMINER_APPLICATION
            ;}
        EndSelect
      Until Event = 0
    
    	; if Escape Key, exit	
      If iGetKeyDown(#KEY_ESCAPE)
        quit = #TERMINER_APPLICATION
      EndIf
    
    	; ---------------
    	;      Render
    	; ---------------
      iBeginScene(100,100,100)
          iDrawLine2D(0,0,10,200, $ff00ff00)
          iDrawRectangle2D(100,  200, 400, 300,  $ffffffff,  $ff00ffff,  $fff000ff,  $ffffff00)
          iDrawLine2D( 10,10,200,200, $ff00ff00)
          iDrawPolygon2D(200, 200, 128.0)
          iDrawRect2D(300,  100, 500, 250, $55ff00ff )
          iDrawPolygon2D(400, 400, 64.0, $ff00ffff, 32)
          iDrawPolygon2D(100, 450, 64.0, $ff000fff, 3)
    
          iDrawSubRectImage2D(*texture , 500,100,628, 228, 0,0,128,128)
          iDrawRectImage2D(*texture ,100,  400, 0,0,100,100, $22aaaaaa )
          iDrawImage2D(*texture ,500,  450)
    
          iDrawText(*font, "FPS: "+Str(iFPS()),  10,10,0,0, $ff00ffff)
    
      iEndScene()
    
    Until Quit>0
  EndIf
EndProcedure
;}
;{ programme principal
  FenetrePrincipale()
  End
;}