Sie befinden sich auf der NewGUI Tutorialpage

Start
Über NewGui
Featureübersicht
Changesübersicht
Installation
Download
Demos
Anwendungen
Tutorials
-Windows
-Hintergrundbild
-Gadgets & GuiLoop
-1 Gadget 2 Gui's
-Transparenz
Sourcecodes
Links
Kontakt

Unser Hostingpartner

Alle Tutorials sind in PreASS kompiliert. Aufgrund der starken Ähnlichkeit zu C hier eine kleine Übersicht der Unterschiede.

How to open a window with NewGUI

Wie man ein Festern mit NewGUI öffnet
... genau wie ohne, am Griff drehen und ziehen ;-)



In diesem Tutorial öffnen wir ein Window mit NewGui.

Zunächst müssen erstmal die ganzen Variablen geladen werden, daß macht Ihr am besten wie normal auch für Euren Compiler und Sprache so üblich :
; (c) 2003-2004 Cyborg 

    {* Include sys:coder/preass/Options.p *}
    {* String: Version="$VER: DEMO1 (C) CYBORG 2003"*}
    {* usefd:sys:coder/fd/newgui_lib.fd *}
Nun wird das Window geöffnet, es hat die Ausmaße 600x400 und ist von Links Oben x=150 y=100 Pixel weg. Die 0,0,0 bedeuten, daß keine zusätzlichen WINDOWFLAGS oder IDCMPS genutzt werden und auch Keine Tags an die Routine übergeben werden. Braucht man für einfache Anwendungen einfach nicht.
Start:
    
    Gui=Open_Window(150,100,600,400,"TESTWINDOW",0,0,0)
    if gui#0
     {

Wir arbeiten noch nicht mit Gadgets. Eine Area ist einfach nur ein Bereich der mit absoluten Koordinaten angegeben wird. X=10,Y=10,Weite=590,Hoehe=590
       Area=makeAreaGFX(Gui,10,10,590,390)

Eigentlich müßte man jetzt eine If Abfrage einbauen, ob die Area besorgt werden konnte, aber die 16 Bytes werdet Ihr wohl frei haben ;) Nun malen wir mal einen 3D Recessed Border um die Area und füllen die Area mit einem Blauton R=0 G=0 B=100
       DrawBox3dR(Gui,Area)
       FillBoxColor(Gui,area,0,0,100)
und weil das so schön einfach war, füllen wir die Box mit einem Fortschrittsbalken von 0% bis 100%

       For i=1 to 100

        BlueBoxProzentT(Gui,Area,i)
        
       next I

So , nun das Window wieder zu machen und die Area freigeben.
"und wieso wird Gui hier wieder gesetzt?"
"weil man bei größeren Projekten so die benutzten Variablen NULLT, also ungültig macht, und sie so gefahrlos missbräuchlich benutzt werden können."
"Bitte?"
"CloseWindow() gibt NULL zurück, wenn man nun CloseWindow(Gui) nochmal aufruft, dann knallts nicht, weil CloseWindow() das Argument auf Null prüft! "
       Gui=Close_window(gui)
       FreeAreaGFX(Area)
     }

    printf("Ende\\n")
    {* Return *}

Des wars...
    Gui=Open_Window(150,100,600,400,"TESTWINDOW",0,0,0)
    if gui#0
     {


       Area=makeAreaGFX(Gui,10,10,590,390)

       if Area#0 
        {
          DrawBox3dR(Gui,Area)
          FillBoxColor(Gui,area,0,0,100)

          For i=1 to 100

            BlueBoxProzentT(Gui,Area,i)
        
          next I
          Gui=Close_window(gui)
          FreeAreaGFX(Area)
        }
     }
    {* Return *}