Aktuelle Desktop-Größe ändern - wie?

Anfängerfragen zum Programmieren mit PureBasic.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Kaeru Gaman hat geschrieben:@DarkDragon

DEVMODE ist eine vordefinierte Struktur?

und die übergeb ich anscheinend per pointer an ne api, seh ich das richtig?

#WS_CLIPCHILDREN kenn ich zwar noch nicht, aber ist klar:
child-wins werden auf die win-grösse geclipt.

#WS_CLIPSIBLINGS... was sind siblings? ist das ein überbegriff für Gadgets & Co.?

und welche bedeutung haben die parameter dmFields?

mal probieren, ob das wirklich das verschieben der Icons verhindert...
solange das nicht sicher ist, werd ich auch niemanden zum testen auffordern...
-------------------------------------------------------------------------------------
@Zaphod

meinst du dieses:
PureArea hat geschrieben:; by Danilo, 21.07.2003 - german forum
;
; Beispiel für ein Realtime-Resize eines Fensters mit einem ScrollAreaGadget
; wo die ScrollArea die Größe des DESKTOPs hat.
hilft mir nicht wirklich... aber danke..
Die Windowflags kenn ich auch nicht wirklich, aber DEVMODE ist eine vordefinierte Struktur(Siehe Struktur Anzeiger im Editor).
Und du übergibst eine Variable mit der Struktur an die API Funktion. WinAPI = eine API mit vielen Funktionen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@DarkDragon

yo, danke...

bin mal gespannt, ob das prog von alleine wieder zurückstellt beim beenden...

btw:
welches flag macht mir dieses win ALWAYSONTOP?

[EDIT]

und er setzt automatisch zurück, und die Icons sind, wo sie hingehören!

Vielen Dank DD! :allright:
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
SC
Beiträge: 18
Registriert: 12.02.2005 01:44

Beitrag von SC »

Hallo,

könnt ihr den fertigen Code hier veröffentlichen? Das Thema interessiert mich auch sehr.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ich habe nichts anderes gemacht, als DD's Codesnippet auszutesten...

z.b. dieses kurze proggi, um die Darstellung auf 800x600 runterzuschrauben,
solange das proggi läuft.
zum zurückstellen einfach das kleine window schliessen.

verkleinern deiner anderen fenster läuft übers system-menu:
einfach aufs icon links oben klicken. (an den minimize-button kommst du ja nicht dran)

Code: Alles auswählen

dmScreenSettings.DEVMODE 
dmScreenSettings\dmSize = SizeOf(dmScreenSettings) 
dmScreenSettings\dmPelsWidth = 800 ;Bildschirmbreite 
dmScreenSettings\dmPelsHeight = 600 ;Bildschirmhöhe 
dmScreenSettings\dmBitsPerPel = 32 ;Bildschirmtiefe 
dmScreenSettings\dmFields = 262144 | 524288 | 1048576 

If ChangeDisplaySettings_(@dmScreenSettings, 4) <> 0 ;Wenn etwas schief geht... 
End ;... einfach beenden 
EndIf 

OpenWindow(0, 0, 0, 100,100, #PB_Window_SystemMenu, "") 

Repeat
EventID = WaitWindowEvent()
Until EventID = #PB_Event_CloseWindow 
aber erst das programm beenden, bevor du über 'Eigenschaften von Anzeige'
die Desktopauflösung manipulierst!

der "fertige Code" wird um einiges umfangreicher, ich brauchte diese information
um bei Games den DX-Fullscreen zu vermeiden.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten