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.
Fullscreen window with no titlebar?
Blitz3D Forums/Blitz3D Programming/Fullscreen window with no titlebar? 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
"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?
Have you checked/updated your User32.decls?