Max Gui ?!?!?

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

BamBam

Betreff: Max Gui ?!?!?

BeitragSa, Okt 11, 2008 12:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mal ne Frage, wenn ihr ein Programm schreibt, bindet ihr dann von vorneherein Max Gui mit ein und regelt das graphische des Programms über die Canvas? hätte das nachteile (sprich langsamer) wenn mein programm auf der canvas läuft anstatt ohne MaxGui?
Kann man ein MaxGui Programm auf Vollbild laufen lassen? Bin gerade am überlegen was ich am besten machen! Soll mal ne Lernsoftware werden mit vielen verschiedenen Lernprorgammen welche in einem Hauptmenü zur auswahl stehen!
 

Gast

BeitragSa, Okt 11, 2008 12:28
Antworten mit Zitat
Also, BMax ist nicht mein Ding, allerdings machst du einfach ein Bildschirmfüllendes Fenster ohne Rand. (So machs ich in B+)
Danach machst du ein Canvas auf des Window...
So, also hast du ein Ganzes Fenster (Nich wirkliches, allerdings eine art Vollbild...)
 

BamBam

BeitragSa, Okt 11, 2008 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Um meine Frage nochmal präzisier zu machen:

Kann ich bei einem normalen programm, welches ich mit Graphics erstelle, Buttons und Dinge aus dem MaxGui Modul verwenden? Bzw. wenn dies nicht geht, wie würdet ihr das dann machen? Eigene Buttons schreiben oder canvas von MaxGui benutzen?

Folgende Dinge brauche ich unbedingt dabei:

Vollbild auf 1024*768 erzwungen

BladeRunner

Moderator

BeitragSa, Okt 11, 2008 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Such dir ne andere GUI-Lösung, MaxGUI ist für GUI-basierte Apps gedacht, nicht für Programme die ein HUD benötigen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

jsp

BeitragSa, Okt 11, 2008 15:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Ich habe mal ne Frage, wenn ihr ein Programm schreibt, bindet ihr dann von vorneherein Max Gui mit ein und regelt das graphische des Programms über die Canvas?


Ob man MaxGui mit einbindet haengt natuerlich vom Programm ab. Bei einem Ego Shooter wuerde man es wohl kaum brauchen. Bei deinem Beispiel Lernsoftware, wuerde sich das allerdings hervorragend anbieten.

Zitat:
hätte das nachteile (sprich langsamer) wenn mein programm auf der canvas läuft anstatt ohne MaxGui?


Ob dein Programm spaeter auf dem Canvas langsamer laeuft, haengt stark von dem Zielsystem ab. Im englischen Forum gab es grad mal ein Posting wegen DX9 Treiber und es zeigte sich, das einige Systeme im Fenster (Canvas) langsamer laufen, andere nicht. Aber wenn man nicht gerade ein neues WoW herausbringen will, sind die meisten Grafikkarten selbst im Fenstermodus mehr als schnell genug.

Zitat:
Kann man ein MaxGui Programm auf Vollbild laufen lassen?


Das mit dem Vollbild ist genau wie flitztuete95 das beschrieben hat.
Hier ist mal ein link auf ein Beispiel mit MaxGui Vollbild. War mal fuer ein andere Forumfrage gedacht (Gadgets auf einem Canvas), aber zeigt mal wie es aussieht.

http://jsp.logiczone.de/downlo...rfield.zip

Zitat:
Kann ich bei einem normalen programm, welches ich mit Graphics erstelle, Buttons und Dinge aus dem MaxGui Modul verwenden? Bzw. wenn dies nicht geht, wie würdet ihr das dann machen? Eigene Buttons schreiben oder canvas von MaxGui benutzen?


Wenn man Graphics() verwendet, dann braucht man kein Canvas und benutzt dann ja auch kein MaxGui. Das Canvas Gadget ist ja das Gegenstueck in MaxGui zu Graphics.

-jsp-
Logic Gui Professional a Gui Designer for MaxGui
 

BamBam

BeitragSa, Okt 11, 2008 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für eure Antworten: klingt alles sehr gut, nur scheint mir das MaxGui als Fullscreen trotzdem die Bildschirmauflösung zu nehmen und nicht eine von mir vorgewählte! Stimmt das so oder habe ich nur die Befehle dazu noch nicht gefunden?
 

jsp

BeitragSa, Okt 11, 2008 17:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Das MaxGui laeuft ja in einem Fenster auf dem Desktop, also werd dessen Aufloesung genommen!
Logic Gui Professional a Gui Designer for MaxGui

amon

BeitragSa, Okt 11, 2008 17:55
Antworten mit Zitat
Benutzer-Profile anzeigen
soweit ich weiss kannst du aber probs bekommen wenn du versuchst steuerelemente auf das canvas zu setzen, das geht glaub ich nicht - und dass würde dann deiner intention widersprechen einen "vollbildcanvas" zu erzeugen.
 

klepto2

BeitragSa, Okt 11, 2008 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Canvas ist kein sogenanntes Container Gadget wie zb ein Panel. Darum wird es zu Fehlern kommen, wenn man versucht andere Gadgets auf dem Canvas zu erstellen.
Es kommt zu Flackern oder überbleibseln im Canvas buffer.

Es ist mit einigem Aufwand möglich (über hooks) diese zu minimieren, jedoch nur bei relativ statischen Canvas (zb eine emulierte Textarea).

Ansonsten würde ich sowas wie Highgui oder von Brucey die CEGUI empfehlen, diese ingame guis sind genau für solche Sachen gedacht. Die Maxgui ist gedacht für kleinere Editoren etc. nicht für komplexe Anwendungen. Bei letzterem würde ich empfehlen mal dden wxwidget mod von brucey anzuschauen.
Matrix Screensaver
Console Modul für BlitzMax
KLPacker Modul für BlitzMax

HomePage : http://www.brsoftware.de.vu
 

jsp

BeitragSo, Okt 12, 2008 1:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
in Canvas ist kein sogenanntes Container Gadget wie zb ein Panel. Darum wird es zu Fehlern kommen, wenn man versucht andere Gadgets auf dem Canvas zu erstellen.
Es kommt zu Flackern oder überbleibseln im Canvas buffer.

Es ist mit einigem Aufwand möglich (über hooks) diese zu minimieren, jedoch nur bei relativ statischen Canvas (zb eine emulierte Textarea).


Ein Canvas ist schon speziell. Aber dann wuerde mich interessieren, ob das Programm das ich oben gepostet habe, bei dir oder jemanden anderen flackert. Vielleicht ist die Methode, die ich gewaehlt habe ja nicht optimal, aber bei mir funktioniert es (und es benutzt keine Hooks).
Logic Gui Professional a Gui Designer for MaxGui
 

klepto2

BeitragSo, Okt 12, 2008 11:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Dein Beispiel funktioniert, haste einfach Glück gehabt. versuch das ganze mal auf Linux zu kompilieren oder auf nem Mac. Wie obrn schon erwähnt, Canvases sind in keiner Sprache Container Objekte und sollten in der Regel niemals (wenn man nicht genau weiß was man macht) für solche Sachen verwendet werden.
Es kann funktionieren mit einigen Gadgets. Aber es muss nicht, das liegt an der Z-Order die nicht gemanaged wird. Wenn man Pech hat und jemand einen anderen GFXTreiber verwendet kann das nach hinten losgehen.
Matrix Screensaver
Console Modul für BlitzMax
KLPacker Modul für BlitzMax

HomePage : http://www.brsoftware.de.vu
 

jsp

BeitragSo, Okt 12, 2008 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Dein Beispiel funktioniert, haste einfach Glück gehabt.


„Denn das Glück ist mit den Tüchtigen“, hat mein Vater immer gesagt. Na dann... Wink

Zitat:
Aber es muss nicht, das liegt an der Z-Order die nicht gemanaged wird.


Da ist wohl eher der Grund. Aber die Gadgets in dem Beispiel liegen nicht selbst auf dem Canvas, denn dass würde genau den Effekt mit dem Flackern ergeben. Deshalb 'erzwinge' ich die Gadgets über ein extra Panel in den Vordergrund. Das sollte eigentlich mit allen und nicht nur einigen Gadgets funktionieren und Grafikkarten unabhängig sein (aber man kann ja nie wissen...).
Ich muss gestehen ich habe es nicht auf Mac und Linux probiert, da aber SebHol mit seinem Cross-Platform Gui Editor das ähnlich macht, bin ich da eigentlich zuversichtlich. Muss das mal bei Gelegenheit selber testen.
Eigentlich denke ich, dass man das eher selten braucht, es gibt so viele andere Lösungen (auch einfach vom Design her), aber trotzdem ist es machbar.

Bei der hier erwähnten Lernsoftware würde ich persönlich immer ein Event basiertes Programm vorziehen, aber das kommt natürlich auch auf den Inhalt und Zielgruppe an.
Logic Gui Professional a Gui Designer for MaxGui

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group