Fenstergröße anpassen im Fenstermodus

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

SeroSoft

Betreff: Fenstergröße anpassen im Fenstermodus

BeitragMo, Dez 22, 2008 0:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,
wie kann man den die Auflösung der Fenstergröße anpassen? D.h. ich würde gerne das Fenster maximieren und möchte keine Verluste dadurch haben. Geht es eigentlich generell auch, dass man ein Fenster in der Größe ändern kann? Also unter Verwendung von BMax und MiniB3D.

Gruß
Core2Duo E6600, 8 GB Corsair DDR2 800, Geforce 8800 GTX, Mouse: G5, Keyboard: G15, 2x 400 GB Samsung 16 MB Cache, 16000er T-Com Flat

BtbN

BeitragMo, Dez 22, 2008 11:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, geht nicht.
Du musst das Fenster schließen und neu initialisieren und auch alle grafiken, Modelle und co. neu laden.

Geeecko

BeitragDi, Dez 23, 2008 11:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Es geht schon. Jedenfals kann man das Fenster verändern.
Wie man dann Graphics "vergrößert" weiß ich nicht. Also geht es nicht Wink XD
Aber hier mal der Code um das Fenster zu vergrößern (F1 drücken):
Code: [AUSKLAPPEN]

Extern "Win32"
   Function SetWindowPos(hwnd:Int,hwndinsertafter:Int,x:Int,y:Int,w:Int,h:Int,flags:Int) = "SetWindowPos@28"
   Function GetActiveWindow:Int() = "GetActiveWindow@0"
End Extern


Local old_w:Int = 500,..
   old_h:Int = 500,..
   new_w:Int = 800,..
   new_h:Int = 800

Graphics(old_w,old_h)
SetClsColor(255,255,255)


Repeat
   Cls
   
      If KeyHit(KEY_F1) Then
         SetWindowPos(GetActiveWindow(),HWND_TOP,0,0,new_w,new_h,SWP_NOMOVE)
      EndIf

   Flip
Until KeyDown(KEY_ESCAPE) Or AppTerminate()

Mit SetViewPort gehts auch nicht.

Am besten ists aber, du packst die zu ladenen Datein in eine Funktion, und rufst die dann einfach nochmal auf, nachdem du Graphics neu aufgerufen hast.
 

SeroSoft

BeitragDi, Dez 23, 2008 14:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe gedacht man kann das evtl. so handhaben wie bei World of Warcraft. Da kann man ja das Fenster im Fenstermodus realtime vergrößern und verkleinern und das ohne alles nur zu laden. Was genau ist bei Blitz eigentlich das Problem warum das nicht möglich ist?

Gruß
Core2Duo E6600, 8 GB Corsair DDR2 800, Geforce 8800 GTX, Mouse: G5, Keyboard: G15, 2x 400 GB Samsung 16 MB Cache, 16000er T-Com Flat

tedy

BeitragDi, Dez 23, 2008 14:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Die machen aber ein "richtiges" Fenster auf und dieses ist dann vergrößerbar...
Das müsstest du mit Maxgui machen
01010100 01100101 01000100 01111001 00100000 00111010 01000100

BtbN

BeitragDi, Dez 23, 2008 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
WoW hat, wie gesagt, ein richtiges Fenster. Wenn das fenster vergrößert/kleinert wird, fangen sie das event ab und setzen den Kontext neu auf, mit allem was oben beschrieben wurde. Nur vermutlich können die das ganze etwas besser als blitz, dass sie nur die Daten neu vom RAM in den VRAM befördern müssen, und nicht wie Blitz komplett neu laden.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group