Automatische Auflösung

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Flo01

Betreff: Automatische Auflösung

BeitragDo, Jun 07, 2007 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Forum
Ich hätte gerne dass die Bildschirmauflösung automatisch an die Auflösung, die in Windows eingestellt ist angepasst wird. Wie kann man das am besten anstellen?

Rone

BeitragDo, Jun 07, 2007 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,
indem du die Desktopauflösung mit DesktopHeight() und DesktopWidth() ermittelst usw.

Edit: hmm..doch nicht.

Smily

BeitragDo, Jun 07, 2007 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
zumindest in b+:

Clientwidth(desktop())
clientheight(desktop())
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

Flo01

BeitragDo, Jun 07, 2007 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Befehle funzen bei mir nicht. Hat das was damit zu tun, dass ich Blitz Basic 3D habe?
  • Zuletzt bearbeitet von Flo01 am Do, Jun 07, 2007 18:53, insgesamt 2-mal bearbeitet

Progger93

BeitragDo, Jun 07, 2007 18:50
Antworten mit Zitat
Benutzer-Profile anzeigen
ja das hat er doch geschrieben das clientheight(desktop()) und
clientwidth(desktop()) nur für b+ sind
 

Flo01

BeitragDo, Jun 07, 2007 18:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Progger12 hat Folgendes geschrieben:
ja das hat er doch geschrieben das clientheight(desktop()) und
clientwidth(desktop()) nur für b+ sind


Achso hab ich erst jetz gesehen. Giebts auch eine B3D version der Befehle?

aMul

Sieger des Minimalist Compo 01/13

BeitragDo, Jun 07, 2007 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, wenn du allerdings bei Graphics()/Graphics3D() als ersten und zweiten Parameter 0 angibst, nimmt Blitz die Auflösung, die momentan unter Windows eingestellt ist.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver
 

Flo01

BeitragDo, Jun 07, 2007 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
aMul hat Folgendes geschrieben:
Nein, wenn du allerdings bei Graphics()/Graphics3D() als ersten und zweiten Parameter 0 angibst, nimmt Blitz die Auflösung, die momentan unter Windows eingestellt ist.


Funzt perfekt. thx
 

Lador

BeitragDo, Jun 07, 2007 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, mal rein Interesse halber:

Gibt es das auch für BMax? Und könnte man da auch Fenstermodus machen?

MFG Lador

d-bug

BeitragDo, Jun 07, 2007 19:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du MaxGUI hast, dann funktioniert es über Clientwidth(Desktop()) und Clientheight(Desktop()), wenn nicht, dann über DesktopExtension.
Leider wurde mir allerdings gestern offenbart, dass es auf dem Mac nicht mehr zuverlässig funktioniert. Es bietet aber dennoch den Vorteil, dass man auch auf Multi-Monitor-Systemen den Desktop zuverlässig abfragen kann. Also bei DualView z.B. auch den 2en Monitor. Das kann MaxGUI nicht bieten. Wink

AcidRain

BeitragDo, Jun 07, 2007 19:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,
das ist eigentlich ne funktion,um das Fenster im Fenstermodus zu verstecken,kann aber das ermitteln,was du brauchst..


vor der Schleife dann halt:
dw = DesktopWidth()
dh = DesktopHeight()




Code: [AUSKLAPPEN]
Function DesktopWidth()
;========================================
; Ermittle Windows Desktopbreite
;========================================
   Local struct_rect% = CreateBank(16)

   dll_GetWindowRect(dll_GetDesktopWindow(),struct_rect)
   Local res = PeekInt(struct_rect,8)
   FreeBank struct_rect

   Return res
End Function



Function DesktopHeight()
;========================================
; Ermittle Windows Desktophöhe
;========================================
   Local struct_rect% = CreateBank(16)

   dll_GetWindowRect(dll_GetDesktopWindow(),struct_rect)
   Local res = PeekInt(struct_rect,12)
   FreeBank struct_rect

   Return res
End Function



Function Window_Hide()
;========================================
; Verstecke BB Fenster
;========================================

   Local ww% = GraphicsWidth()
   Local wh% = GraphicsHeight()

   Local xoff% = dll_GetSystemMetrics(7)
   Local yoff% = dll_GetSystemMetrics(8) + dll_GetSystemMetrics(4)

   Local hRgn% = dll_CreateRectRgn(xoff, yoff, ww+xoff, wh+yoff)

   dll_SetWindowRgn(dll_GetActiveWindow(), hRgn, True)
   dll_DeleteObject(hRgn)

End Function



Function Window_SetPos(x%, y%)
;========================================
; Setze BB Fensterposition
;========================================

   Local xoff% = dll_GetSystemMetrics(7)
   Local yoff% = dll_GetSystemMetrics(8) + dll_GetSystemMetrics(4)

   dll_SetWindowPos(dll_GetActiveWindow(),0,x-xoff,y-yoff,0,0,5)

End Function


decls:


Code: [AUSKLAPPEN]
.lib "gdi32.dll"
dll_CreateRectRgn% (X1%, Y1%, X2%, Y2%) : "CreateRectRgn"
dll_DeleteObject% (hObject%) : "DeleteObject"

.lib "user32.dll"
dll_GetSystemMetrics% (nIndex%) : "GetSystemMetrics"
dll_GetWindowRect% (hwnd%, lpRect*) : "GetWindowRect"
dll_GetDesktopWindow% () : "GetDesktopWindow"
dll_SetWindowPos% (hwnd%, hWndInsertAfter%, x%, y%, cx%, cy%, wFlags%) : "SetWindowPos"
dll_GetActiveWindow% () : "GetActiveWindow"
dll_SetWindowRgn% (hWnd%, hRgn%, bRedraw%) : "SetWindowRgn"
 

Lador

BeitragDo, Jun 07, 2007 20:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Hilfe.

MFG Lador

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group