Hi Brahn, Yeah - I include Windows API’s as 100% Clarion because they are all basically “in-the-box” now
I found that by disabling the window resize, with 0{Prop:Resize} = false, there was a bit more flexibility in the border types…
0{Prop:Resize} = False ! Allow frame type to be set
windowStyle = GetWindowLong(0{PROP:Handle}, GWL_STYLE)
windowStyle = BXOR(windowStyle, WS_CAPTION)
IF Self.MaximizeThisWindow = True
Self.BorderType = 1
END
IF Self.BorderType = 1 ! Default no border, and no border if maximized
ELSIF(pbBorderType = 2)
windowStyle = BXOR(windowStyle, WS_BORDER) ! Thin frame - black
ELSIF(pbBorderType = 3)
windowStyle = BXOR(windowStyle, WS_THICKFRAME) ! Resizable frame
END
SetWindowLong(0{PROP:Handle}, GWL_STYLE, windowStyle) ! redraw the window with the Windows caption bar hidden