Hiding the Blitz Window's Control Bar?

Blitz3D Forums/Blitz3D Userlibs/Hiding the Blitz Window's Control Bar?

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

Never heard the title bar being called a control bar before, but still...

;---------------------------------------------------------------------------------
; User32.decls
;==============
;
;.lib "user32.dll"
;
;FindWindow%( class$,Text$ ):"FindWindowA"
;GetWindowLong%(hwnd%, nIndex%) : "GetWindowLongA"
;GetSystemMetrics%(nIndex%) : "GetSystemMetrics"
;MoveWindow%(hwnd%, x%, y%, nWidth%, nHeight%, bRepaint%) : "MoveWindow"
;SetWindowLong%(hwnd%, nIndex%, dwNewLong%) : "SetWindowLongA"
;ShowWindow%(hwnd%, nCmdShow%) : "ShowWindow"
;
;---------------------------------------------------------------------------------

Const title$ = "blitzapp"

Const SM_CXSCREEN        = 0
Const SM_CYSCREEN        = 1
Const SM_CXVSCROLL        = 2
Const SM_CYHSCROLL        = 3
Const SM_CYCAPTION        = 4
Const SM_CXBORDER        = 5
Const SM_CYBORDER        = 6
Const SM_CXDLGFRAME        = 7
Const SM_CYDLGFRAME        = 8
Const SM_CYVTHUMB        = 9
Const SM_CXHTHUMB        = 10
Const SM_CXICON            = 11
Const SM_CYICON            = 12
Const SM_CXCURSOR        = 13
Const SM_CYCURSOR        = 14
Const SM_CYMENU            = 15
Const SM_CXFULLSCREEN    = 16
Const SM_CYFULLSCREEN    = 17
Const SM_CYKANJIWINDOW    = 18
Const SM_MOUSEPRESENT    = 19
Const SM_CYVSCROLL        = 20
Const SM_CXHSCROLL        = 21
Const SM_DEBUG            = 22
Const SM_SWAPBUTTON        = 23
Const SM_RESERVED1        = 24
Const SM_RESERVED2        = 25
Const SM_RESERVED3        = 26
Const SM_RESERVED4        = 27
Const SM_CXMIN            = 28
Const SM_CYMIN            = 29
Const SM_CXSIZE            = 30
Const SM_CYSIZE            = 31
Const SM_CXFRAME        = 32
Const SM_CYFRAME        = 33
Const SM_CXMINTRACK        = 34
Const SM_CYMINTRACK        = 35
Const SM_CXDOUBLECLK    = 36
Const SM_CYDOUBLECLK    = 37
Const SM_CXICONSPACING    = 38
Const SM_CYICONSPACING    = 39
Const SM_MENUDROPALIGNMENT=40
Const SM_PENWINDOWS        = 41
Const SM_DBCSENABLED    = 42
Const SM_CMOUSEBUTTONS    = 43
Const SM_CMETRICS        = 44
Const SM_CXSIZEFRAME    = SM_CXFRAME
Const SM_CYSIZEFRAME    = SM_CYFRAME
Const SM_CXFIXEDFRAME    = SM_CXDLGFRAME
Const SM_CYFIXEDFRAME    = SM_CYDLGFRAME

Const GWL_STYLE        = -16
Const GWL_EXSTYLE    = -20

Const WS_OVERLAPPED     = $0
Const WS_POPUP            = $80000000
Const WS_CHILD            = $40000000
Const WS_MINIMIZE        = $20000000
Const WS_VISIBLE        = $10000000
Const WS_DISABLED        = $8000000
Const WS_CLIPSIBLINGS    = $4000000
Const WS_CLIPCHILDREN    = $2000000
Const WS_MAXIMIZE        = $1000000
Const WS_CAPTION        = $C00000
Const WS_BORDER            = $800000
Const WS_DLGFRAME        = $400000
Const WS_VSCROLL        = $200000
Const WS_HSCROLL        = $100000
Const WS_SYSMENU        = $80000
Const WS_THICKFRAME        = $40000
Const WS_GROUP            = $20000
Const WS_TABSTOP        = $10000
Const WS_MINIMIZEBOX    = $20000
Const WS_MAXIMIZEBOX    = $10000

Const WS_TILED                 = WS_OVERLAPPED
Const WS_ICONIC             = WS_MINIMIZE
Const WS_SIZEBOX             = WS_THICKFRAME
Const WS_OVERLAPPEDWINDOW     = (WS_OVERLAPPED Or WS_CAPTION Or WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX)
Const WS_TILEDWINDOW         = WS_OVERLAPPEDWINDOW
Const WS_POPUPWINDOW         = (WS_POPUP Or WS_BORDER Or WS_SYSMENU)
Const WS_CHILDWINDOW         = WS_CHILD

Const WS_EX_DLGMODALFRAME     = $1
Const WS_EX_NOPARENTNOTIFY    = $4
Const WS_EX_TOPMOST            = $8
Const WS_EX_ACCEPTFILES        = $10
Const WS_EX_TRANSPARENT        = $20

Const SW_HIDE            = 0
Const SW_SHOWNORMAL        = 1
Const SW_NORMAL            = 1
Const SW_SHOWMINIMIZED    = 2
Const SW_SHOWMAXIMIZED    = 3
Const SW_MAXIMIZE        = 3
Const SW_SHOWNOACTIVATE    = 4
Const SW_SHOW            = 5
Const SW_MINIMIZE        = 6
Const SW_SHOWMINNOACTIVE= 7
Const SW_SHOWNA            = 8
Const SW_RESTORE        = 9
Const SW_SHOWDEFAULT    = 10
Const SW_MAX            = 10

Const SWP_NOSIZE        = $1
Const SWP_NOMOVE        = $2
Const SWP_NOZORDER        = $4
Const SWP_NOREDRAW        = $8
Const SWP_NOACTIVATE    = $10
Const SWP_FRAMECHANGED    = $20
Const SWP_SHOWWINDOW    = $40
Const SWP_HIDEWINDOW    = $80
Const SWP_NOCOPYBITS    = $100
Const SWP_NOOWNERZORDER    = $200
Const SWP_DRAWFRAME        = SWP_FRAMECHANGED
Const SWP_NOREPOSITION    = SWP_NOOWNERZORDER

window_w = 640 ;GetSystemMetrics(SM_CXSCREEN)
window_h = 480 ;GetSystemMetrics(SM_CYSCREEN)

Graphics3D window_w, window_h, 0, 2

AppTitle title$

; Find this window
blitz_hnd = SystemProperty("AppHWND")
;blitz_hnd = FindWindow("Blitz Runtime Class", title$) ; Use this for pre v1.88 instead


; Set the windows style flags
SetWindowLong(blitz_hnd, GWL_STYLE, WS_VISIBLE)

; Centre window on desktop
MoveWindow(blitz_hnd, (GetSystemMetrics(SM_CXSCREEN) - window_w) / 2, (GetSystemMetrics(SM_CYSCREEN) - window_h) / 2, window_w, window_h, 1)

; --------------------------------------------------- test code ---------------------------------------------

cam = CreateCamera()
PositionEntity cam, 0, 0, -5
CameraClsColor cam, 0, 0, 100

cube = CreateCube()
EntityColor cube, 200, 200, 0

Repeat
    TurnEntity cube, 1, 1.5, 2
    
    RenderWorld
    
    Rect 0, 0, window_w, window_h, 0
    
    Flip
Until GetKey()

End