Author Topic: Unborder the GLB-Window  (Read 6341 times)

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 4966
  • O Rly?
    • View Profile
Unborder the GLB-Window
« on: 2008-May-12 »
Code by Gernot Frisch: :good:

For Win32:

Code: GLBasic [Select]

Unborder(64,64)

FUNCTION foo:
ENDFUNCTION

INLINE
        }
        extern "C" int __stdcall GetWindowLongA(void*, int);
        extern "C" int __stdcall SetWindowLongA(void*, int, int);
        extern "C" int __stdcall SetWindowPos(void*, int, int, int, int, int, int);
        #define GWL_STYLE                       (-16)
        #define WS_POPUP            0x80000000L
        #define WS_CAPTION          0x00C00000L     /* WS_BORDER | WS_DLGFRAME  */
        namespace __GLBASIC__ {
ENDINLINE

FUNCTION Unborder: x,y
LOCAL sx,sy
        GETSCREENSIZE sx,sy

        INLINE
                int style = ::GetWindowLongA(GLBASIC_HWND(), GWL_STYLE);
                style &= ~WS_CAPTION;
                style |= WS_POPUP;
                ::SetWindowLongA(GLBASIC_HWND(), GWL_STYLE,  style);
                ::SetWindowPos(GLBASIC_HWND(), -1, x,y,sx,sy,0);
        ENDINLINE
ENDFUNCTION
 
« Last Edit: 2008-May-12 by Gernot Frisch »
I <3 DGArray's :D

PC:
AMD RYzen 7 1700 @3.9Ghz, 16GB HyperX Fury 2666Mhz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard

Offline D2O

  • Prof. Inline
  • *****
  • Posts: 1058
    • View Profile
    • http://www.deuteriumoxid.com
Re: Unboard the GLB-Window
« Reply #1 on: 2008-May-12 »
Cool  :nw:

Wenn man nun das Fenster selber etwas Transparent machen könnte oder ne bestimmte farbe.
Könnte man coole efekte bzw. Fenster machen.

Z.b ein Spiel laufen lasen und im hintergrund sieht man den Desktop oder ein gefaktes rundes fenster :)

Wir müssten eine separate Code ecke haben wo nur Inline sachen reinkommen.
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 4966
  • O Rly?
    • View Profile
Re: Unboard the GLB-Window
« Reply #2 on: 2008-May-12 »
Jo finde ich auch :)
I <3 DGArray's :D

PC:
AMD RYzen 7 1700 @3.9Ghz, 16GB HyperX Fury 2666Mhz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 4966
  • O Rly?
    • View Profile
Re: Unborder the GLB-Window
« Reply #3 on: 2008-May-16 »
Auch ne gute Idee, werden wir mal besprechen müssen!
I <3 DGArray's :D

PC:
AMD RYzen 7 1700 @3.9Ghz, 16GB HyperX Fury 2666Mhz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard

Offline Heiko

  • Dr. Type
  • ****
  • Posts: 469
    • View Profile
Re: Unborder the GLB-Window
« Reply #4 on: 2013-Jun-09 »
vielleicht noch eine Anmerkung zu unborder...

Code: GLBasic [Select]
GLOBAL sx, sy, w, h
GETSCREENSIZE sx, sy
GETDESKTOPSIZE w, h
Unborder(w/2-sx/2,h/2-sy/2)

da das Fenster standardmässig mittig gesetzt wird.
sonst taucht es wie im obigen code erst bei position 64,64 (oder whatever) auf und beim beenden nochmal mittig...

leider erscheint beim beenden nochmal kurz der rahmen, aber das ist ja nicht weiter tragisch.

Desktop: AMD X4 Phenom (4x2.31Ghz), 2GB Ram, 250 GB HDD, (leider nur) NVidia 7300LE, Win8 Pro

GLBasic SDK Premium - immer up2date

Offline mentalthink

  • Prof. Inline
  • *****
  • Posts: 3336
  • Integrated Brain
    • View Profile
Re: Unborder the GLB-Window
« Reply #5 on: 2014-Jan-02 »
Works in win7 X64 too... thanks!!!!  :good:

Offline Hemlos

  • To boldy go where no pixel has gone before!
  • Global Moderator
  • Prof. Inline
  • *******
  • Posts: 1578
  • Particle Hawk
    • View Profile
Re: Unborder the GLB-Window
« Reply #6 on: 2015-Aug-07 »
i broke it

if i do this in 2d then later switch to 3d like going into a game....half of the screen gets black
display driver crashed, im using amd

solved the driver crash:
you cant change the input value of unborder...it must remain constant with each frame.
« Last Edit: 2015-Aug-07 by Hemlos »
Volume_of_Earth(km^3) = 4/3*3.14*POW(6371.392896,3)