Seite 1 von 1

Mindestgröße bei ResizeWindow()

Verfasst: 13.07.2006 16:34
von Vermilion
Wie kann man eine Mindestgröße bei ResizeWindow() angeben?

Ich hätte mir dass so gedacht:

Code: Alles auswählen

Wenn Fensterweite < 400
ÄndereFensterweite(400)
EndeWenn
Gibt es da nicht eine bessere Art und Weise?

Ich habe den Code jetzt nur mal so geschrieben, weil ich dann nicht so viel hätte nachdenken sowie schreiben müssen! :mrgreen:

Re: Mindestgröße bei ResizeWindow()

Verfasst: 13.07.2006 17:13
von Kiffi
> Wie kann man eine Mindestgröße bei ResizeWindow() angeben?

nein. Das wäre auch der falsche Ansatz. Wenn, dann müssten die
Minimalausmaße bei OpenWindow() gesetzt werden.

Dennoch gibt es mehrere Methoden, um die Mindest- oder Maximalgröße
zu steuern.

1. Mit PB-Code: Du reagierst auf #PB_Event_SizeWindow und setzt dann
die Koordinaten selber. Nachteil: Das flimmert und flackert wie blöd.

2. Mit einem Callback

3. Mit gnozals PureRESIZE library

4. Mit srods EasyVent

Such Dir was aus ;-)

> Ich habe den Code jetzt nur mal so geschrieben, weil ich dann nicht so
> viel hätte nachdenken sowie schreiben müssen! :mrgreen:

Aha! Du lässt also denken. Und das bei dieser Hitze...

Grüße ... Kiffi

Verfasst: 13.07.2006 19:36
von Jilocasin
Zum Callback:

Ungefähr so...

Code: Alles auswählen

Procedure Callback(WindowID,Message,wParam,lParam)
  Result = #PB_ProcessPureBasicEvents 
  
  Select Message
  Case #WM_GETMINMAXINFO
    GetWindowRect_(WindowID,r.RECT)
    *pMinMax.MINMAXINFO = lParam
    *pMinMax\ptMinTrackSize\x=350
    *pMinMax\ptMinTrackSize\y=180
    *pMinMax\ptMaxTrackSize\x=GetSystemMetrics_(#SM_CXSCREEN)
    *pMinMax\ptMaxTrackSize\y=GetSystemMetrics_(#SM_CYSCREEN)
    Result = 0
  EndSelect
  
  ProcedureReturn Result
EndProcedure
Dann natürlich noch...

Code: Alles auswählen

SetWindowCallback(@Callback())

Danke

Verfasst: 14.07.2006 15:32
von Vermilion
Danke, ich probiers mal aus :)