Jump to content
Sign in to follow this  
ebvgfuabiv

No Border Window Dragging

Recommended Posts

ebvgfuabiv

i need to be able to drag a window with out a border. So far i was able to drag the window but it only would move inverted can someone please help me make this not move inverted. it need two scripts to work. Run the MouseHook Script.au3 1th then the GUI Script.au3. tho if you can combine or simplify the 2 scripts that would help alot too. you will need a pic named window.bmp any pic will do

gui script.au3

mousehook script.au3

Share this post


Link to post
Share on other sites
Valuater

This might help...

#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>

$Gui = GuiCreate("Test", 200, 100, -1, -1, $WS_POPUP, $WS_EX_DLGMODALFRAME)
GuiRegisterMsg($WM_LBUTTONDOWN, "_WinMove")
GUISetState()

While 1
    $Msg = GUIGetMsg()
    Switch $Msg
        Case -3
            Exit
    EndSwitch
WEnd
Func _WinMove($HWnd, $Command, $wParam, $lParam)
    If BitAND(WinGetState($HWnd), 32) Then Return $GUI_RUNDEFMSG
    DllCall("user32.dll", "long", "SendMessage", "hwnd", $HWnd, "int", $WM_SYSCOMMAND, "int", 0xF009, "int", 0)
EndFunc

Valuater


NEWHeader1.png

Share this post


Link to post
Share on other sites
ebvgfuabiv

Valuaterthis this is definitely better then the mousehook script i was using. But is there a way to make it only show in Image and then you can move the Image with your mouse.

Share this post


Link to post
Share on other sites
ebvgfuabiv

I tried doing this but now it won't move...

#include <GuiConstantsEx.au3>

#include <WindowsConstants.au3>

$Gui = GuiCreate("Test", 808, 691, -1, -1,$WS_POPUP,$WS_EX_LAYERED)

guisetbkcolor(0x000000)

guictrlcreatepic("window.bmp",-1,-1,808,691)

GuiRegisterMsg($WM_LBUTTONDOWN, "_WinMove")

GUISetState()

While 1

$Msg = GUIGetMsg()

Switch $Msg

Case -3

Exit

EndSwitch

WEnd

Func _WinMove($HWnd, $Command, $wParam, $lParam)

If BitAND(WinGetState($HWnd), 32) Then Return $GUI_RUNDEFMSG

DllCall("user32.dll", "long", "SendMessage", "hwnd", $HWnd, "int", $WM_SYSCOMMAND, "int", 0xF009, "int", 0)

EndFunc

sorry kind of new to au3 scripting... :mellow:

Edited by ebvgfuabiv

Share this post


Link to post
Share on other sites
ebvgfuabiv

got it to work with this.

#include <GUIConstantsEx.au3>

#include <WindowsConstants.au3>

GUICreate("window",808, 691, -1, -1,$WS_POPUP,$WS_EX_LAYERED)

GUICtrlCreatePic("window.bmp",-1,-1,808,691)

guisetbkcolor(0x808000)

GUICtrlSetState (-1,$GUI_DISABLE)

GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST")

GUISetState()

While 1

wend

Func WM_NCHITTEST($hWnd, $Msg, $wParam, $lParam)

Local $iProc

$iProc = DllCall("user32.dll", "int", "DefWindowProc", "hwnd", $hWnd, "int", $Msg, "wparam", $wParam, "lparam", $lParam)

$iProc = $iProc[0]

If $iProc = $HTCLIENT Then Return $HTCAPTION

Return $GUI_RUNDEFMSG

EndFunc

Share this post


Link to post
Share on other sites
ebvgfuabiv

Now all i need is instead of being able to drag the window by clicking any area to only being able to drag the window in a specific area any ideas on how i can do this? keep in mind that the window has to be border-less and displaying only a image.

never mind i got it work thank you Valuaterthis for the help

Edited by ebvgfuabiv

Share this post


Link to post
Share on other sites
monoscout999

GUI_WS_EX_PARENTDRAG Ex Style will do magic for you :mellow:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$image = @ScriptDir & "\test.jpg"
If Not FileExists($image) Then InetGet("http://i273.photobucket.com/albums/jj239/StarcraftImages/MCR.jpg", $image)
$MainGui = GUICreate("Test", 600, 400, -1, -1, $WS_POPUP)
GUICtrlCreatePic($image, 0, 0, 600, 400)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("Drag Me", 10, 10, 150, 150, -1, $GUI_WS_EX_PARENTDRAG)
GUISetState(@SW_SHOW)
 
While 1
    $msg = GUIGetMsg()
 
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
Edited by monoscout999

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.