Deutsch
Forum

Erledigt: opengl zu normalem HauptFenster zurück

 

Ludger
Resing
Hallo ich bin noch am ausprobieren mit opengl .Nun möchte ich von dem opengl Fenster zu einem normalen Hauptfenster zurück .
Hier meine Expirimente
Mit dem menuepunkt Einstellungen möchte ich wieder in ein Hauptfenster
(nicht in ein Dialogfenster)
KompilierenMarkierenSeparieren
declare beweg%

Proc Menue

    appendmenubar 1,"©"
    appendmenubar 103,"&Start"
    appendmenubar 102,"&Stop"
    appendmenubar 202,"&Einstellungen"
    appendmenubar 303,"&Ende"
    POPUP "Help"
    APPENDMENU 401,"Hilfe"
    APPENDMENU 402,"Info"
    Separator
    APPENDMENU 403,"Über"

endproc

proc start

    windowstyle 31
    Window 1,1-1100,800
    menue
    beweg%=1

endproc

PROC zuEnde

    MessageBox "Wollen Sie wirklich beenden?",
    "Frage:",36

    if %Button = 6

        Let Ende%=1

    endif

ENDPROC

Proc Einstell

    oGL("Clear")
    windowstyle 31
    Window 1,1-1100,800
    CLS 0
    waitkey

endproc

declare time&, frames%
declare rtri!, rquad!

proc DrawGLScene

    oGL("Clear")
    oGL("Origin", -1.5, 0, -6)
    oGL("Color", 0, 0, 1, 1)
    oGL("Rotate", 0, rtri!, 0)
    oGL("Cuboid", 2, 2, 1)
    oGL("Origin", 1.5, 0, -6)
    oGL("Color", 1, 0, 0, 1)
    oGL("Rotate", rquad!, 0, 0)
    oGL("Cylinder", 1.1, 1.25, 3, 38)
    oGL("Show")
    case beweg% = 1 :rtri! = rtri! + 9
    case beweg% = 1 :rquad! = rquad! - 5

endproc

Hauptprogramm
-------------
start
declare ende%
time&   = &GetTickCount
CLS 0
oGL("Init", %hWnd, 0, 0, 0, 1)
oGL("PosMode", 1)
DrawGLScene()
setTimer 20  max 50 Frames /sek.

WhileNot ende%

    WaitInput

    if isKey(27)

        ende% = 1

    endif

    DrawGLScene()
    inc frames%

    if &GetTickCount - time& >= 1000   1 Sekunde ist rum

        setText %hWnd, str$(frames%) + " Frames/sek"
        time&   = &GetTickCount
        frames% = 0

    ElseIf @MenuItem(102)

        beweg% = 0

    ElseIf @MenuItem(103)

        beweg% = 1

    ElseIf @MenuItem(303)

        zuEnde

    ElseIf @MenuItem(202)

        einstell

    endif

EndWhile

killTimer
end
 
22.07.2009  
 



Hallo Ludger,

ich würde mit ogl.done das Ogl wieder abschalten, meinst Du sowas?
 
22.07.2009  
 




Ludger
Resing
Erst mal besten Dank für die schnelle Antwort
mit ogl("done") hab ich mal mit rumgespielt ,komm aber auch nicht weiter ,wie komme ich wieder in einem normalen Hauptfenster.Hab in der Proc "einstell" mit "Window 1,1-1100,800 CLS 0" versucht
kommt kein neues Hauptfenster
Gruß
Ludger
 
23.07.2009  
 



Vlt. habe ich das Problem nicht so ganz verstanden, was genau möchtest Du erreichen?

Spätestens z.B. nach einem CLS nach einem ogl.done ist das Hauptfenster imho wieder "normal" zu gebrauchen.
 
23.07.2009  
 



Schau mal, sowas?
KompilierenMarkierenSeparieren
cls
ogl("init",%hWnd,0,1,1,1,1)
ogl("posmode",1)

whileLoop 180

    ogl("clear")
    ogl("move",0,0,-5)
    ogl("rotate",&loop,&loop*3,&loop*7)
    ogl("cuboid",1,1,1)
    ogl("show")
    sleep 20

wend

ogl("done")
cls $FF0000
var a&=create("button",%hWnd,"oO",10,10,100,100)
waitinput
end
 
23.07.2009  
 




Ludger
Resing
mein Problem ist ,daß bei mir nach dem CLS nach einem ogl.done das Hauptfenster nicht "normal" zu gebrauchen ist .Ich weiß nicht warum.Ich möchte nähmlich kein Button erzeugen, sondern im Hauptfenster
weitermachen.Mit deinem kleinen Beispiel (wenn ich den Button weglasse )kommt das Hauptfenster !!
In meinem Beispiel nicht
 
23.07.2009  
 




Jörg
Sellmeyer
1. hast Du nirgends ogl("done") in Deinem Code stehen. Du mußt also in der Proc Einstell das einbauen.

2. mußt Du auch für diesen Fall ein Flag setzen, so daß DrawGLScene nur dann ausgeführt wird, wenn nicht die Einstellungen erfolgen sollen.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.07.2009  
 




Ludger
Resing
Hallo Jörg
Besten Dank
Punkt 2 war der richtige Tipp .
ogl("done") hatte ich nachher eingebaut, aber nicht nochmal den quelltext eingestellt
Nun klappts
Gruß
Ludger
 
23.07.2009  
 



Wie nennt man (eigentlich) solche "Fehler" welche eben z.B. keine Sytaktischen sind, sondern? (gibts da nicht auch _ein Wort für?)

Logischer Fehler im Programmablauf?!

LOFIP
 
23.07.2009  
 




Jörg
Sellmeyer
A.U.S.S.E.T.Z.Er
Allgemeines Unvermögen systematische Sachverhalte erkennbar terminierend zu erfassen
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.07.2009  
 



Deiner Fantasie bin ich nicht gewachsen.
 
23.07.2009  
 




E.T.
Jörg Sellmeyer, Beitrag=53436, Zeitpunkt=23.07.2009
A.U.S.S.E.T.Z.E.R
Allgemeines Unvermögen systematische Sachverhalte erkennbar terminierend zu erfassen


KLASSE !!!
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
23.07.2009  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

9.261 Betrachtungen

Unbenanntvor 0 min.
Ludger Resing09.09.2013
Donnie19.03.2013
funkheld31.03.2012

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie