Fenster zentrieren

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
KinkMike
Beiträge: 39
Registriert: 03.11.2007 18:30
Kontaktdaten:

Fenster zentrieren

Beitrag von KinkMike »

Hallo, ich bin gerade dabei ein Programm zu schreiben und habe folgende Fragen:

1) wie kann ich ein Fenster mit den Maßen 200 x 200 zentriert auf dem Bildschirm darstellen ?

2) Wie kann ich ein Fenster direkt maximiert starte, ohne erst den maximierenbutton zu drücken ?

Ich hoffe ihr könnt mir helfen :)

Achja, ich habe die PB-Verison: 3.30
ThoPie
Beiträge: 130
Registriert: 19.05.2006 15:18
Kontaktdaten:

Beitrag von ThoPie »

zu 1)

Code: Alles auswählen

OpenWindow(#wnd,0,0,200,200,"Titel",#PB_Window_ScreenCentered)
zu 2)

Code: Alles auswählen

OpenWindow(#wnd,0,0,0,0,"Titel",#PB_Window_Maximize)
Benutzeravatar
mk-soft
Beiträge: 3847
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Und alles zusammen

Code: Alles auswählen

style = #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget
style = style | #PB_Window_ScreenCentered | #PB_Window_Minimize
If OpenWindow(0, #PB_Ignore, #PB_Ignore, 200, 200, "Form1", style)

  Repeat
    event = WaitWindowEvent()
  Until event = #PB_Event_CloseWindow
EndIf
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Habt ihr überlesen, dass er noch PB 3.30 benutzt? Da gibt es kein #PB_Window_Maximize! :wink:

@ KinkMike:
Das mit dem ScreenCentered müsste es bei dir schon geben.
Und dein Fenster maximiert zu starten geht IMHO nur über die API. Da weiß ich spontan keine Funktion auswendig, aber ich glaube es war ShowWindow_() mit deinem Window-Handle als 1. und einem Flag als 2. Parameter.
Dieser 2. Flag bestimmt, wie das Fenster dargestellt werden soll (also z. B. maximiert).
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@AND51
>Das mit dem ScreenCentered müsste es bei dir schon geben.
Nein, gibt es nicht.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
KinkMike
Beiträge: 39
Registriert: 03.11.2007 18:30
Kontaktdaten:

.

Beitrag von KinkMike »

ja, danke erst mal für eure schnelle antworten, doch ich muss leider sagen, dass mir das irg wie nich so ganz weiterhilft, denn das mit dem maximize und screencentere geht bei PB 3.30 nicht
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Beitrag von Thomas »

Hab mal nen Code für PB 3.3 getippt:

Code: Alles auswählen

Breite.l = 200
Hoehe.l  = 150

OpenWindow(0, (GetSystemMetrics_(#SM_CXSCREEN) - Breite) / 2, (GetSystemMetrics_(#SM_CYSCREEN) - Hoehe) / 2, Breite, Hoehe, #PB_Window_SystemMenu | #PB_Window_MaximizeGadget, "Window")

ShowWindow_(WindowID(0), #SW_SHOWMAXIMIZED)

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
v6.00
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

RSBasic hat geschrieben:@AND51
>Das mit dem ScreenCentered müsste es bei dir schon geben.
Nein, gibt es nicht.
Ah ok.
Ja dann verbleibt nur noch die Option, wie Thomas es geschrieben hat.
Positionen des Fensters = Bildschirmbreite/höhe durch 2 - Breite bzw. Höhe des Fensters durch 2
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Anstelle von /2 kannst du auch das SchiftRight >>1 verwenden. Ob
es viel schneller ist, kann ich nicht sagen. Mein Rechner ist zu schnell :mrgreen:

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
KinkMike
Beiträge: 39
Registriert: 03.11.2007 18:30
Kontaktdaten:

Hi

Beitrag von KinkMike »

Ja vielen vielen Dank Thomas, das ist genau das was ich gesucht habe :D
Antworten