Fullscreen window with no titlebar?

Blitz3D Forums/Blitz3D Programming/Fullscreen window with no titlebar?

Does anyone know of any method to make a Blitz3D window fullscreen with no titlebar/border/buttons etc? I don't want to goto fullscreen proper, but do want to be able to Alt-Tab and move the window.

Yarrr...
;---------------------------------------------------------------------------------
; 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"
;ReleaseCapture%() : "ReleaseCapture"
;SendMessage%(hWnd%, Msg%, wParam%, lParam%) : "SendMessageA"
;
;---------------------------------------------------------------------------------

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 = GetSystemMetrics(SM_CXSCREEN);640
window_h = GetSystemMetrics(SM_CYSCREEN);480

Graphics3D window_w, window_h, 0, 2

AppTitle title$

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


; 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 ---------------------------------------------

;Viewport (window_w - 800) / 2, (window_h - 600) / 2, 800, 600
;Origin (window_w - 800) / 2, (window_h - 600) / 2

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

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

Repeat
	If MouseDown(1)
		ReleaseCapture()
		SendMessage(blitz_hnd, $A1, 2, 0)
	EndIf
	
	TurnEntity cube, 1, 1.5, 2
	
	RenderWorld
	
	Rect 0, 0, window_w, window_h, 0
	
	Flip
Until GetKey()

End


Much obliged. Thanks!

I never got that example to work - I have user32.dll and decs in my userlibs.

Having said that - my decs are Rev 0.5 2003.03.06

What is this line supposed to do?

"SendMessage(blitz_hnd, $A1, 2, 0)"

It crashes on my computer.

Thanks

That line, along with ReleaseCapture(), *should* allow you to drag the window around.

Have you checked/updated your User32.decls?