Gibt es eine maximale Fensterbreite, die dicht an der Deskto

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Gibt es eine maximale Fensterbreite, die dicht an der Deskto

Beitrag von Kurzer »

>> ResizeWindow(#Window_Preview, #PB_Ignore, #PB_Ignore, 1500, 400)

Mein Desktop ist 1152 pixel breit und ich möchte ein offenes Window auf eine Größe von 1500 Pixel oder mehr verbreitern.
Leider ist die Größe, auf die der obige Befehl das Fenster bringt, gerade mal 8 - 16 Pixel breiter als mein Desktop (was von 1500 pixeln noch weit entfernt ist).

Gibt es einen Weg diese Beschränkung zu umgehen?
Alternativ müsste ich den Inhalt des Fensters in ein ScrollAreaGadget verpflanzen (was ich erstmal nicht will :) )

Edit: Komisch, wenn ich PureRESIZE nutze, dann geht es plötzlich:
>> PureRESIZE_SetWindowMaximumSize(#Window_Preview, 5000, 5000)
Hiermit kann ich das Window bis zu den besagten 5000 Pickeln aufziehen. Ist schon sehr Sesam!
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Da ist gar nix Sesam. Das hat auch nix mit der LIB zu tun. Du kannst dir ja wohl denken das man sowas mal wieder mittels API überschreiben kann:

Code: Alles auswählen

Procedure WindowCallback(hWnd,uMsg,wParam,lParam)
    Select uMsg
        Case #WM_GETMINMAXINFO
        *lpmmi.MINMAXINFO = lParam
        *lpmmi\ptMaxTrackSize\x = 2000
        *lpmmi\ptMaxTrackSize\y = 2000
    EndSelect
     
    ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure

OpenWindow(0,0,0,320,240,"void",#WS_OVERLAPPEDWINDOW | 1)

SetWindowCallback(@WindowCallback())

While WaitWindowEvent() ! #PB_Event_CloseWindow : Wend
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Beitrag von Kurzer »

Fluid Byte: Danke für die API Version mit CallBack.
Ich frage mich nur wozu das standardmäßig beschränkt ist. :shock:
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Warum soll ein Fenster größer sein als der sichtbare Bildschirmfläche?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Beitrag von Kurzer »

In meinem Fall ist es ein Vorschau-Fenster in dem zwei Bilder nebeneinander angezeigt werden. Links das Originalbild rechts eine mathematisch veränderte Kopie des Originals.
Wenn das Bild zu groß ist, passen zwei davon nicht mehr in die Desktopbreite, aber man kann das Fenster trotzdem noch mittles Titelzeile verschieben, um das Bild seiner Begierde (linkes oder rechtes) in den sichtbaren Bereich zu ziehen.

Ich werde das Vorschaufenster aber wohl noch mit einer automatischen Skalierung versehen, damit die beiden Bilder auf jeden Fall in die Desktopbreite passen.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Das halte ich für keine gute Idee. Mich als Anwender würde es ziemlich
nerven, über die Titelzeile mühsam das Fenster verschieben zu müssen.

Bei 150% Fenstergröße relativ gesehen zum Desktop mag das vielleicht
noch irgend wie ok sein, man muss das Fenster nur ein mal ziehen um die
komplet andere Seite zu sehen ... aber wenns auf 200% hinaus läuft,
müsste man das Fenster schon 2x anpacken und ziehen. Ich würd da eher
auf nen ScrollAreaGadget zugreifen ... hier wäre auch die Senkrechte
übergröße genau so mittels Scrollbalken automatisch abgedekt und der
Anwender könnte auch selber bestimmen, wie groß das Fenster
letzendlichsein soll.

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

yo, da geb ich PMV recht.
..bei Irfan ist das Vorschaufenster wesentlich kleiner, grad mal 144² jeweils oder sowas um den dreh...
also mit ner skalierbaren funktion würdest du da schon mehr bieten.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
tmjuk
Beiträge: 380
Registriert: 30.06.2006 00:10
Wohnort: Backaryd, Schweden

Beitrag von tmjuk »

Könnte man vielleicht auch Splitgadget anwenden? Dann kann man bequem jedes Bild der "Begierde" darstellen.

Torsten
PB 4.51 32 Windows Vista, 32 XP, PB 4.51 32 Ubuntu 10.10
Antworten