Jump to content

Move Borderless GUI


Seabear
 Share

Recommended Posts

If this is a GUI created in autoit, yep. There are examples on the forums.

#include <GuiconstantsEx.au3>
#include <WindowsConstants.au3>
#include <SendMessage.au3>

Global Const $SC_DRAGMOVE = 0xF012

HotKeySet("{ESC}", "On_Exit")
Func On_Exit()
    Exit
EndFunc

$hGUI = GUICreate("X", 50, 50, -1, -1, BitOR($WS_POPUP,$WS_BORDER), $WS_EX_TOPMOST)
GUISetBkColor(0xFF0000, $hGUI)
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_PRIMARYDOWN
            _SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
    EndSwitch
WEnd

I believe this is the correct example

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

  • Moderators

Seabear,

Take a look at the Moving and Resizing PopUp GUIs tutorial in the Wiki - lots of different ways shown there! ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • 5 years later...
13 hours ago, guiltyking said:

it does not work at ex_transparency

Can't see that OP uses transparency, so why negroing this thread? Make your own if you have issues with transparency and moving borderless GUI. And don't forget to post a full runable reproducer script showing the issues.

Edited by AutoBert
Link to comment
Share on other sites

54 minutes ago, AutoBert said:

Can't see that OP uses transparency, so why negroing this thread? Make your own if you have issues with transparency and moving borderless GUI. And don't forget to post a full runable reproducer script showing the issues.

I Have misTell that when trying to reply on my post. Sry that was not able to erase it. no direct relation to this, i know.

how could i?

Edited by guiltyking
Link to comment
Share on other sites

Hi everyone.

 

Transparency ?

 

 

I write a script who move and resize GUI, with transparency.

 

Look.

 

#include <File.au3>
#include <GDIPlus.au3>
#include <GIFAnimation.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <SendMessage.au3>
#include <Misc.au3>
Global $DisplayImage, $pos, $Larg, $Haut

Const $SC_DRAGMOVE1 = 0xF012


#Region ### START Koda GUI section ### Form=
Global $ViewPic = GUICreate("Form1", 50, 50, 192, 124, $WS_POPUP, $WS_EX_ACCEPTFILES)
GUICtrlCreateGraphic(0, 0, 50, 50)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlSetBkColor(-1, 0x0A000)
GUICtrlSetColor(-1, 0)

$pos = WinGetPos($ViewPic)
$Larg = $pos[2]
$Haut = $pos[3]
;~ $posY = $pos[1]

;~ MsgBox(0,"",$pos)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###




While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_PRIMARYDOWN
            _SendMessage($ViewPic, $WM_SYSCOMMAND, $SC_DRAGMOVE1, 0)

        Case $GUI_EVENT_CLOSE
            Exit

        Case $GUI_EVENT_DROPPED
            $FichierImage = @GUI_DragFile
            _GDIPlus_Startup()
            $tImg = _GDIPlus_ImageLoadFromFile($FichierImage)
            $Hauteur = _GDIPlus_ImageGetHeight($tImg)
            $Largeur = _GDIPlus_ImageGetWidth($tImg)
            _GDIPlus_ImageDispose($tImg)
            _GDIPlus_Shutdown()

            If $Largeur > $Hauteur And $Largeur > 640 Then
                $Largeur = 640
                $Hauteur = 480
            ElseIf $Largeur < $Hauteur And $Hauteur > 640 Then
                $Largeur = 480
                $Hauteur = 640
            EndIf

            _PicGui($FichierImage, $Hauteur, $Largeur)


    EndSwitch
WEnd



Func _PicGui($FichierImage, $Hauteur, $Largeur)
    Const $SC_DRAGMOVE2 = 0xF012

    Local $sDrive, $sDir, $sFileName, $sExtension
    _PathSplit(@ScriptFullPath, $sDrive, $sDir, $sFileName, $sExtension)



    Global $PicGui = GUICreate($sFileName & $sExtension, $Largeur, $Hauteur, 010, 50, BitOR($WS_POPUPWINDOW, $WS_THICKFRAME), $WS_EX_LAYERED)

    Global $DisplayImage = _GUICtrlCreateGIF($FichierImage, "", 0, 0, $Largeur, $Hauteur)
    GUICtrlSetResizing($DisplayImage, $GUI_DOCKBORDERS)

    GUISetBkColor(0xABCDEF, $PicGui)
    _WinAPI_SetLayeredWindowAttributes($PicGui, 0xABCDEF, 250)

    GUISetState(@SW_SHOW)

    While 1


        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_PRIMARYDOWN
                _SendMessage($PicGui, $WM_SYSCOMMAND, $SC_DRAGMOVE2, 0)
            Case $GUI_EVENT_CLOSE
                GUIDelete($PicGui)
                ExitLoop

            Case $GUI_EVENT_RESIZED
                $newpos = WinGetPos($PicGui)
                $NewLargeur = $newpos[2]
                $NewHauteur = $newpos[3]
                If $Larg <> $NewLargeur Or $Haut <> $NewHauteur Then
                    _GIF_DeleteGIF($DisplayImage)
                    $DisplayImage = _GUICtrlCreateGIF($FichierImage, "", 0, 0, $NewLargeur, $NewHauteur)
                EndIf


        EndSwitch



    WEnd

EndFunc   ;==>_PicGui

 

If this code can help, i'll be happy.

 

 

Cheers.

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...