Windows don't need to be rectangular. Change the shape with API calls.
'Demo of shaped window, created from region. 'Window is also framed. 'You may use this code in your programs. 'You may not redistribute this code. 'Alyce Watson, May, 2001 'updated for LB4, April, 2008 ' 'For best results, use the "region" GDI functions 'to color the window. This demo uses PaintRgn 'and FrameRgn. nomainwin calldll #gdi32, "CreateEllipticRgn",_ 0 as long,_ 30 as long,_ 300 as long,_ 200 as long,_ hRgn as ulong WindowWidth=350:WindowHeight=250 open "Elliptic Window" for window_popup as #1 print #1, "trapclose [quit]" h=hwnd(#1) crColor=hexdec("&HFFDD99") calldll #gdi32, "CreateHatchBrush",_ _HS_VERTICAL as long,_ crColor as long,_ hBrush as ulong calldll #user32, "GetDC",h as ulong, hDC as ulong calldll #gdi32,"SelectObject",_ hDC as ulong,_ hBrush as ulong,_ result as ulong calldll #gdi32, "PaintRgn",_ hDC as ulong,_ hRgn as ulong,_ result as ushort calldll #gdi32,"DeleteObject",hBrush as ulong,r as long crColor=hexdec("&H55DDFF") calldll #gdi32, "CreateSolidBrush",_ crColor as long,_ hBrush as ulong calldll #gdi32, "FrameRgn",_ hDC as ulong,_ hRgn as ulong,_ hBrush as ulong,_ 5 as long,_ 'frame width thickness 5 as long,_ 'frame height thickness r as long calldll #user32, "SetWindowRgn",_ h as ulong, hRgn as ulong, 1 as long, result as long text$="Alt-F4 to close" length=len(text$) calldll#gdi32,"TextOutA",_ hDC as ulong,_ 105 as long,_ 105 as long,_ text$ as ptr,_ length as long,_ result as long [loop] wait [quit] calldll #gdi32,"DeleteObject",hBrush as ulong,r as long calldll #gdi32,"DeleteObject",hRgn as ulong,r as long calldll #user32, "ReleaseDC",h as ulong, hDC as ulong, r as long close #1:end