Seite 1 von 1

IsWindowSizeGadget(WindowID)

Verfasst: 22.10.2007 15:55
von Scarabol
Hi Leute,

hab mal eine Procedure geschrieben die überprüft ob ein Fenster einen SizeGadget besitzt, also die Größe vom Benutzer geändert werden kann.

Würde mich freuen, wenn ihn der ein oder andere Ergänzen bzw. prüfen könnte...

Code: Alles auswählen

Procedure IsWindowSizeGadget(WindowID)
  style = GetWindowLong_(WindowID, #GWL_STYLE)
  If style >> 19 = $298
    ProcedureReturn 1
  Else
    ProcedureReturn 0
  EndIf
EndProcedure

win1 = OpenWindow(1, 100, 100, 200, 200, "", #PB_Window_SizeGadget)

win2 = OpenWindow(2, 100, 400, 200, 200, "")

win3 = OpenWindow(3, 400, 100, 200, 200, "")

Debug WindowSizeGadget(win1)
Debug WindowSizeGadget(win2)
Debug WindowSizeGadget(win3)
Gruß
Scarabol

Verfasst: 22.10.2007 16:46
von milan1612
Ich hab ehrlich gesagt keine Ahnung wo das denn zum Einsatz käme...
Aber, wer's braucht :allright:

PS: Ich würde mal in deinem Beispiel auch die richtige Funktion aufrufen :lol:

Verfasst: 22.10.2007 16:49
von X0r
Syntax Error --> LOL :lol: :lol:

Re: IsWindowSizeGadget(WindowID)

Verfasst: 22.10.2007 17:08
von Tafkadasom2k5
Scarabol hat geschrieben:Würde mich freuen, wenn ihn der ein oder andere Ergänzen bzw. prüfen könnte...
Wäre ein IsStyle nicht angebrachter? In Windows werden überall Styles genutzt über Konstanten, und dann ist es variabler.

Code: Alles auswählen

Procedure IsStyle(WindowID, CheckStyle)
  style = GetWindowLong_(WindowID, #GWL_STYLE)
  Result = style AND Checkstyle
  If Result = Checkstyle
    ProcedureReturn 1
  EndIf

  style = GetWindowLong_(WindowID, #GWL_EXSTYLE)
  Result = style AND Checkstyle
  If Result = Checkstyle
    ProcedureReturn 1
  EndIf

  ProcedureReturn 0
EndProcedure

Verfasst: 23.10.2007 17:18
von Scarabol
@Bug
Wollte nur testen ob ihr den Code auch wirklich testet ;-)

@Tafka
Die Idee ist nicht schlecht aber wie kann ich dann überprüfen ob das Fenster einen SizeGadget hat?
Mit #WS_SIZEBOX, #WS_THICKFRAME und #PB_Window_SizeGadget funktioniert es nicht...

Gruß
Scarabol

Verfasst: 23.10.2007 17:38
von X0r
>Wollte nur testen ob ihr den Code auch wirklich testet
Hätte ich jetzt auch gesagt :lol:

Verfasst: 23.10.2007 21:35
von Tafkadasom2k5
Mh #WS_THICKFRAME should do the trick...Kann aber sein, dass PB da intern anders mit umgeht. Setz den #WS_THICKFRAME flag mal Manuell- also nicht #PB_IrgendwasSizeGadget sondern setz den parameter dort. Wenn da snicht geht, setze ihn nach dem Erstellen mit SetWindowLong_(etc.pp.).