Jump to content
antonioj84

GuiExtender problem

Recommended Posts

antonioj84
#include <GUIConstantsEx.au3>

#include "GUIExtender.au3"

$hGUI = GUICreate("Move Example", 250, 230)

GUICtrlCreateGroup(" Choose Orientation ", 10, 10, 230, 80)

$cRadio_Horz = GUICtrlCreateRadio(" Horizontal ", 20, 30, 100, 20)
GUICtrlSetState(-1, $GUI_CHECKED)
$cRadio_Vert = GUICtrlCreateRadio(" Vertical ", 20, 60, 100, 20)

GUICtrlCreateGroup(" Choose Move Style ", 10, 100, 230, 110)

$cRadio_0 = GUICtrlCreateRadio(" Fix Left ", 20, 120, 100, 20)
$cRadio_1 = GUICtrlCreateRadio(" Fix Centre ", 20, 150, 100, 20)
$cRadio_2 = GUICtrlCreateRadio(" Fix Right ", 20, 180, 100, 20)

GUICtrlCreateGroup("", -99, -99, 1, 1)

GUISetState()

While 1

    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $cRadio_Horz
            GUICtrlSetData($cRadio_0, " Fix Left ")
            GUICtrlSetState($cRadio_0, $GUI_UNCHECKED)
            GUICtrlSetState($cRadio_1, $GUI_UNCHECKED)
            GUICtrlSetData($cRadio_2, " Fix Right ")
            GUICtrlSetState($cRadio_2, $GUI_UNCHECKED)
        Case $cRadio_Vert
            GUICtrlSetData($cRadio_0, " Fix Top ")
            GUICtrlSetState($cRadio_0, $GUI_UNCHECKED)
            GUICtrlSetState($cRadio_1, $GUI_UNCHECKED)
            GUICtrlSetData($cRadio_2, " Fix Bottom ")
            GUICtrlSetState($cRadio_2, $GUI_UNCHECKED)
        Case $cRadio_0
            _Create_GUI(0)
        Case $cRadio_1
            _Create_GUI(1)
        Case $cRadio_2
            _Create_GUI(2)
    EndSwitch

WEnd











Func _Create_GUI($iMove)

    Local $sTitle

    Switch $iMove
        Case 0
            If GUICtrlRead($cRadio_Horz) = 1 Then
                $sTitle = "Fixed Left"
            Else
                $sTitle = "Fixed Top"
            EndIf
        Case 1
            $sTitle = "Fixed Centre"
        Case 2
            If GUICtrlRead($cRadio_Horz) = 1 Then
                $sTitle = "Fixed Right"
            Else
                $sTitle = "Fixed Bottom"
            EndIf
    EndSwitch

    GUISetState(@SW_HIDE, $hGUI)

    $hGUI_Ex = GUICreate($sTitle, 500, 500)

    If GUICtrlRead($cRadio_Horz) = 1 Then

        _GUIExtender_Init($hGUI_Ex, 1, $iMove)
        _GUIExtender_Section_Create($hGUI_Ex, 0, 250)
        _GUIExtender_Section_Activate($hGUI_Ex, 2, "", "", 220, 10, 20, 20)
        _GUIExtender_Section_Create($hGUI_Ex, 250, 250)
        GUICtrlCreateLabel("", 250, 0, 250, 500)
        GUICtrlSetBkColor(-1, 0xFFCCCC)
        _GUIExtender_Section_Create($hGUI_Ex, -99)

    Else

        _GUIExtender_Init($hGUI_Ex, 0, $iMove)
        _GUIExtender_Section_Create($hGUI_Ex, 250, 0)
        _GUIExtender_Section_Activate($hGUI_Ex, 2, "", "", 470, 220, 20, 20)
        _GUIExtender_Section_Create($hGUI_Ex, 250, 250)
        GUICtrlCreateLabel("", 0, 250, 500, 250)
        GUICtrlSetBkColor(-1, 0xFFCCCC)
        _GUIExtender_Section_Create($hGUI_Ex, -99)

    EndIf

    _GUIExtender_Section_Action($hGUI_Ex, 2, False)

    GUISetState()

    While 1

        $aMsg = GUIGetMsg(1)
        Switch $aMsg[0]
            Case $GUI_EVENT_CLOSE
                GUISetState(@SW_SHOW, $hGUI)
                GUIDelete($hGUI_Ex)
                _GUIExtender_Clear($hGUI_Ex)
                ExitLoop
        EndSwitch

        _GUIExtender_EventMonitor($aMsg[1], $aMsg[0]) ; Check for click on Action control

    WEnd

EndFunc

I am trying to implement 2 side window toggle hide and show with 2 different menu.  can someone give me some direction  thanks

2horizontalCapture.JPG

Share this post


Link to post
Share on other sites
Melba23

antonioj84,

Why hijack a completely unrelated thread when you could just open a new one - as I have now done for you?

That code is just Example 7 in my  GUIExtender download - and it works as expected. Now I will be happy to help you integrate my UDF into your script so it works as you wish, but firstly please explain exactly what you want to do - "2 side window toggle hide and show with 2 different menu" is as clear as mud.

M23

 


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

Share this post


Link to post
Share on other sites
antonioj84

Hey Melba here you go,  this what I mean a picture worth a thousand word. Thanks for opening the thread lesson learned. I can toggle 

2menuCapture.JPG

Edited by antonioj84
add

Share this post


Link to post
Share on other sites
Melba23

antonioj84,

I think I understand, but it will be tomorrow before I can do anything - see you then.

M23

  • Like 1

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

Share this post


Link to post
Share on other sites
antonioj84
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiTab.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <ListViewConstants.au3>
#include "GUIExtender.au3"

; Create arrays to hold the controls on each tab
Global $aInput[7][3], $aButtons[7][3], $aListViews[3]

; Tab colours
Global $aTabColours[3] = [0xFFC0C0, 0xC0C0FF, 0xC0C0C0]
Global $aTabTitles[3] = ["Store CASA", "Store Regular", "Store Training"]
Global $iTab_Index

; Create GUI
Global $hGUI = GUICreate("IP CALCULATOR", 1214, 1019, 627, 0) ; 400,300) ;main gui 714px, other is 500

; Create menu left
_GUIExtender_Init($hGUI, 1, 0)
_GUIExtender_Section_Create($hGUI, 0, 500)
_GUIExtender_Section_Activate($hGUI, 2, "", "", 690, 6, 20, 20) ;create arrow button
_GUIExtender_Section_Create($hGUI, 500, 500)
;GUICtrlCreateLabel("", 250, 0, 250, 500) ;
;GUICtrlSetBkColor(-1, 0xFFCCCC);
_GUIExtender_Section_Action($hGUI, 2, False)


; Set teh font for eh whole GUI - then you do not have to do it for each control <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
GUISetFont(8, 400, 0, "Arial")

; Create label to cover tab "tab"
Global $hColourTab = GUICtrlCreateLabel("", 0, 0, 1, 1, BitOR($SS_NOTIFY, $SS_CENTER, $SS_SUNKEN))

; Create tab
Global $cTab = GUICtrlCreateTab(7, 5, 682, 1019)

; Create tab items and colour them
For $i = 0 To 2
    GUICtrlCreateTabItem($i & " - " & $aTabTitles[$i])
    If $i = 0 Then
        ; Set 0 as active tab
        GUICtrlSetState(-1, $GUI_SHOW)
        $iCurrTab = 0
    EndIf
    _GUICtrlTab_SetBkColor($hGUI, $cTab, $aTabColours[$i])
    ; Create controls on each tab
    Call("GUImenu" & $i)

Next
; End tab defintion just the once
GUICtrlCreateTabItem("")

GUISetState()

While 1

    $aMsg = GUIGetMsg(1)
    Switch $aMsg[0]
        Case $GUI_EVENT_CLOSE
            Exit
        Case $cTab
            ; Get the current tab
            $iCurrTab = GUICtrlRead($cTab)
            ; Now we can use this value to access the relevant set of controls in the arrays

        Case $aButtons[1][$iCurrTab]
            MsgBox($MB_SYSTEMMODAL, "Pressed", "Setting Button on tab " & $iCurrTab)

        Case $aButtons[2][$iCurrTab]
            MsgBox($MB_SYSTEMMODAL, "Pressed", "Exit Button on tab " & $iCurrTab)
            Exit

        Case $aButtons[4][$iCurrTab]
            MsgBox($MB_SYSTEMMODAL, "Pressed", "Create IP Data Button on tab " & $iCurrTab)

        Case $aButtons[6][$iCurrTab]
            MsgBox($MB_SYSTEMMODAL, "Pressed", "Screen Capture Button on tab " & $iCurrTab)
    EndSwitch
    _GUIExtender_EventMonitor($aMsg[1], $aMsg[0]) ; Check for click on Action control
WEnd

Func GUImenu0()

    ; The controls on each Tab are stored in the relevant section of the arrays

    GUICtrlCreateLabel("STORENUM", 36, 53, 66, 17) ; No need to store ControlID if you never use it <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    $aInput[3][0] = GUICtrlCreateInput("", 108, 51, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $aButtons[6][0] = GUICtrlCreateButton("Create Screen Capture", 84, 349, 120, 33)
    $aListViews[0] = GUICtrlCreateListView("| UCS Subnet/ 28||", 252, 53, 361, 625, -1, BitOR($WS_EX_CLIENTEDGE, $LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50)
    $aButtons[1][0] = GUICtrlCreateButton("Setting", 12, 957, 91, 33)
    $aButtons[2][0] = GUICtrlCreateButton("Exit", 92, 437, 91, 33)
    GUICtrlCreateLabel("Register", 48, 83, 54, 17)
    $aInput[4][0] = GUICtrlCreateInput("4", 108, 81, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $aButtons[4][0] = GUICtrlCreateButton("Create IP Data", 89, 301, 107, 33)
    $aInput[5][0] = GUICtrlCreateInput("2", 108, 203, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    GUICtrlCreateLabel("Printer front/back", 14, 205, 88, 25)
    GUICtrlCreateLabel("Tablet", 50, 114, 52, 17)
    $aInput[1][0] = GUICtrlCreateInput("", 108, 112, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $aInput[2][0] = GUICtrlCreateInput("2", 108, 142, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $aInput[6][0] = GUICtrlCreateInput("2", 108, 173, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    GUICtrlCreateLabel("Receipt Printer", 26, 144, 76, 17)
    GUICtrlCreateLabel("Tablet  Printer", 26, 175, 76, 25)

EndFunc   ;==>GUImenu0


Func GUImenu1()

    GUICtrlCreateLabel("STORENUM", 36, 53, 66, 17)
    $aInput[3][1] = GUICtrlCreateInput("", 108, 51, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $aButtons[6][1] = GUICtrlCreateButton("Create Screen Capture", 84, 349, 120, 33)
    $aListViews[1] = GUICtrlCreateListView("| UCS Subnet/ 28||", 252, 53, 361, 625, -1, BitOR($WS_EX_CLIENTEDGE, $LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50)
    $aButtons[1][1] = GUICtrlCreateButton("Setting", 12, 957, 91, 33)
    $aButtons[2][1] = GUICtrlCreateButton("Exit", 92, 437, 91, 33)
    GUICtrlCreateLabel("Register", 48, 83, 54, 17)
    $aInput[4][1] = GUICtrlCreateInput("4", 108, 81, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $aButtons[4][1] = GUICtrlCreateButton("Create IP Data", 89, 301, 107, 33)
    $aInput[5][1] = GUICtrlCreateInput("2", 108, 203, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    GUICtrlCreateLabel("Printer front/back", 14, 205, 88, 25)

EndFunc   ;==>GUImenu1

Func GUImenu2()

    GUICtrlCreateLabel("STORENUM", 36, 53, 66, 17)
    $aInput[3][2] = GUICtrlCreateInput("", 108, 51, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $aButtons[6][2] = GUICtrlCreateButton("Create Screen Capture", 84, 349, 120, 33)
    $aListViews[2] = GUICtrlCreateListView("| UCS Subnet/ 28||", 252, 53, 361, 625, -1, BitOR($WS_EX_CLIENTEDGE, $LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50)
    $aButtons[1][2] = GUICtrlCreateButton("Setting", 12, 957, 91, 33)
    $aButtons[2][2] = GUICtrlCreateButton("Exit", 92, 437, 91, 33)
    GUICtrlCreateLabel("Register", 48, 83, 54, 17)
    $aInput[4][2] = GUICtrlCreateInput("4", 108, 81, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $aButtons[4][2] = GUICtrlCreateButton("Create IP Data", 89, 301, 107, 33)
    $aInput[5][2] = GUICtrlCreateInput("2", 108, 203, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    GUICtrlCreateLabel("Printer front/back", 14, 205, 88, 25)
    GUICtrlCreateLabel("Tablet", 50, 114, 52, 17)
    $aInput[1][0] = GUICtrlCreateInput("", 108, 112, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $aInput[2][0] = GUICtrlCreateInput("2", 108, 142, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $aInput[6][0] = GUICtrlCreateInput("2", 108, 173, 57, 22, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    GUICtrlCreateLabel("Receipt Printer", 26, 144, 76, 17)
    GUICtrlCreateLabel("Tablet  Printer", 26, 175, 76, 25)

EndFunc   ;==>GUImenu2

Func _GUICtrlTab_SetBkColor($hWnd, $hSysTab32, $sBkColor)

    ; Get tab position
    Local $aTabPos = ControlGetPos($hWnd, "", $hSysTab32)
    ; Get size of user area
    Local $aTab_Rect = _GUICtrlTab_GetItemRect($hSysTab32, -1)
    ; Create label
    GUICtrlCreateLabel("", $aTabPos[0] + 2, $aTabPos[1] + $aTab_Rect[3] + 4, $aTabPos[2] - 6, $aTabPos[3] - $aTab_Rect[3] - 7)
    ; Colour label
    GUICtrlSetBkColor(-1, $sBkColor)
    ; Disable label
    GUICtrlSetState(-1, $GUI_DISABLE)

EndFunc   ;==>_GUICtrlTab_SetBkColor

this is my progress , currently it can hide and un-hide horizontally the pink side. i am working on hiding half the menu blue(vertically) when the down arrow is clicked 

harry

interactive.jpg

Share this post


Link to post
Share on other sites
antonioj84

interactivityCapture.JPG

Share this post


Link to post
Share on other sites
Melba23

antonioj84,

My apologies, I have been very busy lately and I completely forgot about this thread -  I will try and find time to look into the problem today.

Note to all readers: if you want help with one my UDFs it is best to post in the UDF thread so that I am guaranteed to remember it.

M23

Edit: The removal men are delayed so I have a moment now. How about this:

#include <GUIConstantsEx.au3>

#include "GUIExtender.au3"

$hGUI = GUICreate("Test", 1000, 500)

_GUIExtender_Init($hGUI, 1, 2) ; Use mode 2 so the static GUI does not move

$iSection_1 = _GUIExtender_Section_Create($hGUI, 0, 500)
; Add some controls so we can see which section is which
GUICtrlCreateLabel("", 0, 0, 500, 500)
GUICtrlSetBkColor(-1, 0xCCCCFF)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("I am the BLUE section that opens and closes", 0, 100, 300, 20)

_GUIExtender_Section_Create($hGUI, 500, 500)
GUICtrlCreateLabel("", 500, 0, 500, 500)
GUICtrlSetBkColor(-1, 0xFFCCCC)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("I am the PINK section that is static", 500, 100, 300, 20)
; Activation control must be in this section, not the extendable one
_GUIExtender_Section_Activate($hGUI, $iSection_1, "", "", 690, 6, 20, 20)

; Close section creation structure
_GUIExtender_Section_Create($hGUI, -99)

; Close extendable section
_GUIExtender_Section_Action($hGUI, $iSection_1, False)

GUISetState()

While 1

    $iMsg = GUIGetMsg()
    Switch $iMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch

    ; Pass GUI handle and event message to the UDF so it can action the extendable section
    _GUIExtender_EventMonitor($hGUI, $iMsg)

WEnd

 

Edited by Melba23
  • Like 1

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

Share this post


Link to post
Share on other sites
antonioj84

thanks Melba23

Share this post


Link to post
Share on other sites
antonioj84

hi Melba,

 

i am trying to do 2 thing and i hope you can help

1. i want the blue window to be static and the pink can be hidden and un-hidden 

2 i want the blue window  -  half  window that can be extended vertically ( hidden and un-hidden ) see below

toggleCapture.JPG

Share this post


Link to post
Share on other sites
Melba23

antonioj84,

The UDF will only work in one sense within the same GUI - either horizontally or vertically. I did try once to make it bi-directional, but the logistics got too complex - especially if the sizes of the sections in the 2 directions were not compatible and there was not a fixed anchor section.

But in your case it looks possible that using a child GUI to do the other direction might work - I will see if I can come up with something this morning.

M23

  • Like 1

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

Share this post


Link to post
Share on other sites
Melba23

antonioj84,

This looks pretty good:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

#include "GUIExtender.au3"

; Create parent GUI
$hGUI = GUICreate("Test", 1000, 300)
GUISetState(@SW_HIDE, $hGUI)

; Create sections in main GUI
_GUIExtender_Init($hGUI, 1)

$iSection_1 = _GUIExtender_Section_Create($hGUI, 0, 500)
; Add some controls so we can see which section is which
GUICtrlCreateLabel("", 0, 0, 500, 300)
GUICtrlSetBkColor(-1, 0xCCCCFF)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("I am the BLUE section that is static", 0, 100, 300, 20)
; Create the button which automatically activates next section of the same GUI
_GUIExtender_Section_Activate($hGUI, $iSection_1 + 1, "", "", 470, 10, 20, 20)
; Create a button to action programatically a section of another GUI
$cSect_4 = GUICtrlCreateButton("Section 4", 10, 270, 80, 30)

$iSection_2 = _GUIExtender_Section_Create($hGUI, 500, 500)
GUICtrlCreateLabel("", 500, 0, 500, 300)
GUICtrlSetBkColor(-1, 0xFFCCCC)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("I am the PINK section that opens and closes", 500, 100, 300, 20)

; Close section creation structure
_GUIExtender_Section_Create($hGUI, -99)

; Create  and position child GUI
$aGUI_Pos = WinGetPos($hGUI)
$hGUI_Child = GUICreate("Follower", 500, 200, 0, 0, BitOR($WS_POPUP, $WS_BORDER), 0, $hGUI)
WinMove($hGUI_Child, "", $aGUI_Pos[0], $aGUI_Pos[1] + $aGUI_Pos[3])
GUISetState(@SW_HIDE, $hGUI_Child)

; Create section sin child GUI
_GUIExtender_Init($hGUI_Child)

$iSection_3 = _GUIExtender_Section_Create($hGUI_Child, 0, 1)
; I am the RED section that is static
GUICtrlCreateLabel("", 0, 0, 500, 1)
GUICtrlSetBkColor(-1, 0xFF0000)
GUICtrlSetState(-1, $GUI_DISABLE)

$iSection_4 = _GUIExtender_Section_Create($hGUI_Child, 1)
GUICtrlCreateLabel("", 0, 1, 500, 200)
GUICtrlSetBkColor(-1, 0xCCFFCC)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("I am the Green section that opens and closes", 0, 100, 300, 20)
; Activate this section with no visible button
_GUIExtender_Section_Activate($hGUI_Child, $iSection_4)

; Close section creation structure
_GUIExtender_Section_Create($hGUI_Child, -99)

; Close extendable sections
_GUIExtender_Section_Action($hGUI, $iSection_2, False)
_GUIExtender_Section_Action($hGUI_Child, $iSection_4, False)
; And display the GUI(s)
GUISetState(@SW_SHOW, $hGUI)
GUISetState(@SW_SHOW, $hGUI_Child)

; Look for the main GUI moving
GUIRegisterMsg($WM_MOVE, "_WM_MOVE")

While 1

    $iMsg = GUIGetMsg()
    Switch $iMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $cSect_4
            ; Toggle the section in the child GUI programatically
            _GUIExtender_Section_Action($hGUI_Child, $iSection_4, 9)
    EndSwitch

    ; Pass main GUI handle and event message to the UDF so it can action its extendable section automatically
    _GUIExtender_EventMonitor($hGUI, $iMsg)

WEnd

Func _WM_MOVE($hWnd, $iMsg, $wParam, $lParam)
    ; If the main GUI moves
    If $hWnd = $hGUI Then
        ; Move the child to follow
        Local $aGUI_Pos = WinGetPos($hWnd)
        WinMove($hGUI_Child, "", $aGUI_Pos[0], $aGUI_Pos[1] + $aGUI_Pos[3])
    EndIf
EndFunc   ;==>_WM_MOVE

Happy with that?

M23

  • Like 1

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

Share this post


Link to post
Share on other sites
antonioj84

Hi Melba, you made my day. Just the Doctor prescribed, I am happy !!

Share this post


Link to post
Share on other sites
antonioj84
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#include "GUIExtender.au3"

; Create parent GUI
$hGUI = GUICreate("Store Build", 1000, 300)
GUISetState(@SW_HIDE, $hGUI)

; Create sections in main GUI
_GUIExtender_Init($hGUI, 1)


$iSection_1 = _GUIExtender_Section_Create($hGUI, 0, 500)

;~GUICtrlCreateLabel("", 0, 0, 500, 300) ; label wont work
;~GUICtrlSetBkColor(-1, 0xCCCCFF)  ; color wont apply
; Add some controls so we can see which section is which



$Group1 = GUICtrlCreateGroup("POS", 16, 8, 177, 49)
$Radio1 = GUICtrlCreateRadio("Fixed", 32, 32, 65, 17)
$Radio2 = GUICtrlCreateRadio("Tablet", 120, 32, 65, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$hCombo = GUICtrlCreateCombo("", 304, 80, 37, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "");"sList1")
$Setting = GUICtrlCreateButton("Setting", 80, 224, 65, 25)
$Exit = GUICtrlCreateButton("Exit", 392, 224, 65, 25)
$Button3 = GUICtrlCreateButton("Expand", 8, 224, 65, 25)
$Input1 = GUICtrlCreateInput("", 208, 80, 57, 24)
GUICtrlSetLimit(-1,4) ; to limit the entry to 3 chars
GUICtrlSetTip(-1, "Enter Store Number")
$RE = GUICtrlCreateLabel("RE", 272, 80, 22, 24, $SS_SUNKEN)
$SREI = GUICtrlCreateLabel("SREI", 168, 80, 35, 28, BitOR($SS_CENTER,$SS_SUNKEN))
$Start = GUICtrlCreateButton("Start", 200, 120, 97, 33)





;GUICtrlCreateLabel("", 0, 0, 500, 300)
;GUICtrlSetBkColor(-1, 0xCCCCFF)
;GUICtrlSetState(-1, $GUI_DISABLE)
;GUICtrlCreateLabel("I am the BLUE section that is static", 0, 100, 300, 20)
; Create the button which automatically activates next section of the same GUI

_GUIExtender_Section_Activate($hGUI, $iSection_1 + 1, "", "", 470, 10, 20, 20)



; Create a button to action programatically a section of another GUI
$cSect_4 = GUICtrlCreateButton("Section 4", 10, 270, 80, 30)

$iSection_2 = _GUIExtender_Section_Create($hGUI, 500, 500)






GUICtrlCreateLabel("", 500, 0, 500, 300)
GUICtrlSetBkColor(-1, 0xFFCCCC)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("I am the PINK section that opens and closes", 500, 100, 300, 20)

; Close section creation structure
_GUIExtender_Section_Create($hGUI, -99)





; Create  and position child GUI
$aGUI_Pos = WinGetPos($hGUI)
$hGUI_Child = GUICreate("Follower", 500, 200, 0, 0, BitOR($WS_POPUP, $WS_BORDER), 0, $hGUI)
WinMove($hGUI_Child, "", $aGUI_Pos[0], $aGUI_Pos[1] + $aGUI_Pos[3])
GUISetState(@SW_HIDE, $hGUI_Child)

; Create section sin child GUI
_GUIExtender_Init($hGUI_Child)

$iSection_3 = _GUIExtender_Section_Create($hGUI_Child, 0, 1)
; I am the RED section that is static
GUICtrlCreateLabel("", 0, 0, 500, 1)
GUICtrlSetBkColor(-1, 0xFF0000)
GUICtrlSetState(-1, $GUI_DISABLE)

$iSection_4 = _GUIExtender_Section_Create($hGUI_Child, 1)
GUICtrlCreateLabel("", 0, 1, 500, 200)
GUICtrlSetBkColor(-1, 0xCCFFCC)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("I am the Green section that opens and closes", 0, 100, 300, 20)
; Activate this section with no visible button
_GUIExtender_Section_Activate($hGUI_Child, $iSection_4)

; Close section creation structure
_GUIExtender_Section_Create($hGUI_Child, -99)

; Close extendable sections
_GUIExtender_Section_Action($hGUI, $iSection_2, False)
_GUIExtender_Section_Action($hGUI_Child, $iSection_4, False)
; And display the GUI(s)

$Group1 = GUICtrlCreateGroup("POS", 16, 8, 177, 49)
$Radio1 = GUICtrlCreateRadio("Fixed", 32, 32, 65, 17)
$Radio2 = GUICtrlCreateRadio("Tablet", 120, 32, 65, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$hCombo = GUICtrlCreateCombo("", 304, 80, 37, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "");"sList1")
$Setting = GUICtrlCreateButton("Setting", 80, 224, 65, 25)
$Exit = GUICtrlCreateButton("Exit", 392, 224, 65, 25)
$Button3 = GUICtrlCreateButton("Expand", 8, 224, 65, 25)
$Input1 = GUICtrlCreateInput("", 208, 80, 57, 24)
GUICtrlSetLimit(-1,4) ; to limit the entry to 3 chars
GUICtrlSetTip(-1, "Enter Store Number")
$RE = GUICtrlCreateLabel("RE", 272, 80, 22, 24, $SS_SUNKEN)
$SREI = GUICtrlCreateLabel("SREI", 168, 80, 35, 28, BitOR($SS_CENTER,$SS_SUNKEN))
$Start = GUICtrlCreateButton("Start", 200, 120, 97, 33)






GUISetState(@SW_SHOW, $hGUI)


GUISetState(@SW_SHOW, $hGUI_Child)

; Look for the main GUI moving
GUIRegisterMsg($WM_MOVE, "_WM_MOVE")


; how do i access the control  $iMsg from each 3 menu


While 1

    $iMsg = GUIGetMsg()
    Switch $iMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $cSect_4
            ; Toggle the section in the child GUI programatically
            _GUIExtender_Section_Action($hGUI_Child, $iSection_4, 9)
    EndSwitch

    ; Pass main GUI handle and event message to the UDF so it can action its extendable section automatically
    _GUIExtender_EventMonitor($hGUI, $iMsg)

WEnd




Func _WM_MOVE($hWnd, $iMsg, $wParam, $lParam)
    ; If the main GUI moves
    If $hWnd = $hGUI Then
        ; Move the child to follow
        Local $aGUI_Pos = WinGetPos($hWnd)
        WinMove($hGUI_Child, "", $aGUI_Pos[0], $aGUI_Pos[1] + $aGUI_Pos[3])
    EndIf
EndFunc   ;==>_WM_MOVE

hi Melba, i have  these issues below:

1. Main menu i can not apply the colour blue (if colour is  added the extender  arrow no longer work)

2. The extended menu pink i can not add  control in the menu

3. Bottom Menu is fine

4. How to access control for the 3 menus , can you provide an example  ( 3 while loop or one single one)

Edited by antonioj84
error

Share this post


Link to post
Share on other sites
Melba23

antonioj84,

1. You forgot the line to disable the coloured label, so none of the other controls will work as AutoIt cannot tell which overlapped control you wish to action.

2. Just add them within the section creation structure as I have done in the amended example below.

3. You were reusing the same variable names that you used in the Blue section to store the ControlIDs for the controls in Green section. Hence you overwrote the Blue values and they no longer work. Just use different variable names - again as in the script below.

4. Just look for the ControlIDs as normal. Guess what? The example below shows you how to do it:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>

#include "GUIExtender.au3"

; Create parent GUI
$hGUI = GUICreate("Store Build", 1000, 300)
GUISetState(@SW_HIDE, $hGUI)

; Create sections in main GUI
_GUIExtender_Init($hGUI, 1)


$iSection_1 = _GUIExtender_Section_Create($hGUI, 0, 500)

GUICtrlCreateLabel("", 0, 0, 500, 300)
GUICtrlSetBkColor(-1, 0xCCCCFF)
GUICtrlSetState(-1, $GUI_DISABLE) ; You need to disbale the lable - you forgot to move that line <<<<<<<<<<<<<<<<<<<<<
; Add some controls so we can see which section is which



$Group1 = GUICtrlCreateGroup("POS", 16, 8, 177, 49)
$Radio1 = GUICtrlCreateRadio("Fixed", 32, 32, 65, 17)
$Radio2 = GUICtrlCreateRadio("Tablet", 120, 32, 65, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$hCombo = GUICtrlCreateCombo("", 304, 80, 37, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "");"sList1")
$Setting = GUICtrlCreateButton("Setting", 80, 224, 65, 25)
$Exit = GUICtrlCreateButton("Exit", 392, 224, 65, 25)
$Button3 = GUICtrlCreateButton("Expand", 8, 224, 65, 25)
$Input1 = GUICtrlCreateInput("", 208, 80, 57, 24)
GUICtrlSetLimit(-1,4) ; to limit the entry to 3 chars
GUICtrlSetTip(-1, "Enter Store Number")
$RE = GUICtrlCreateLabel("RE", 272, 80, 22, 24, $SS_SUNKEN)
$SREI = GUICtrlCreateLabel("SREI", 168, 80, 35, 28, BitOR($SS_CENTER,$SS_SUNKEN))
$Start = GUICtrlCreateButton("Start", 200, 120, 97, 33)

_GUIExtender_Section_Activate($hGUI, $iSection_1 + 1, "", "", 470, 10, 20, 20)

; Create a button to action programatically a section of another GUI
$cSect_4 = GUICtrlCreateButton("Section 4", 10, 270, 80, 30)

$iSection_2 = _GUIExtender_Section_Create($hGUI, 500, 500)

GUICtrlCreateLabel("", 500, 0, 500, 300)
GUICtrlSetBkColor(-1, 0xFFCCCC)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("I am the PINK section that opens and closes", 500, 100, 300, 20)

; Add a control in the pink section <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$cPink_Button = GUICtrlCreateButton("Pink Test", 510, 10, 80, 30)

; Close section creation structure
_GUIExtender_Section_Create($hGUI, -99)

; Create  and position child GUI
$aGUI_Pos = WinGetPos($hGUI)
$hGUI_Child = GUICreate("Follower", 500, 200, 0, 0, BitOR($WS_POPUP, $WS_BORDER), 0, $hGUI)
WinMove($hGUI_Child, "", $aGUI_Pos[0], $aGUI_Pos[1] + $aGUI_Pos[3])
GUISetState(@SW_HIDE, $hGUI_Child)

; Create section sin child GUI
_GUIExtender_Init($hGUI_Child)

$iSection_3 = _GUIExtender_Section_Create($hGUI_Child, 0, 1)
; I am the RED section that is static
GUICtrlCreateLabel("", 0, 0, 500, 1)
GUICtrlSetBkColor(-1, 0xFF0000)
GUICtrlSetState(-1, $GUI_DISABLE)

$iSection_4 = _GUIExtender_Section_Create($hGUI_Child, 1)
GUICtrlCreateLabel("", 0, 1, 500, 200)
GUICtrlSetBkColor(-1, 0xCCFFCC)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("I am the Green section that opens and closes", 0, 100, 300, 20)
; Activate this section with no visible button
_GUIExtender_Section_Activate($hGUI_Child, $iSection_4)

; Close section creation structure
_GUIExtender_Section_Create($hGUI_Child, -99)

; Close extendable sections
_GUIExtender_Section_Action($hGUI, $iSection_2, False)
_GUIExtender_Section_Action($hGUI_Child, $iSection_4, False)
; And display the GUI(s)

$Child_Group1 = GUICtrlCreateGroup("POS", 16, 8, 177, 49) ; You must use different variables to store the ControlIDS or you overwrite the earlier controls <<<<<<<<<<<<<<<
$Child_Radio1 = GUICtrlCreateRadio("Fixed", 32, 32, 65, 17)
$Child_Radio2 = GUICtrlCreateRadio("Tablet", 120, 32, 65, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$hChild_Combo = GUICtrlCreateCombo("", 304, 80, 37, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "");"sList1")
$Child_Setting = GUICtrlCreateButton("Setting", 80, 224, 65, 25)
$Child_Exit = GUICtrlCreateButton("Exit", 392, 224, 65, 25)
$Child_Button3 = GUICtrlCreateButton("Expand", 8, 224, 65, 25)
$Child_Input1 = GUICtrlCreateInput("", 208, 80, 57, 24)
GUICtrlSetLimit(-1,4) ; to limit the entry to 3 chars
GUICtrlSetTip(-1, "Enter Store Number")
$Child_RE = GUICtrlCreateLabel("RE", 272, 80, 22, 24, $SS_SUNKEN)
$Child_SREI = GUICtrlCreateLabel("SREI", 168, 80, 35, 28, BitOR($SS_CENTER,$SS_SUNKEN))
$Child_Start = GUICtrlCreateButton("Start", 200, 120, 97, 33)

GUISetState(@SW_SHOW, $hGUI)
GUISetState(@SW_SHOW, $hGUI_Child)

; Look for the main GUI moving
GUIRegisterMsg($WM_MOVE, "_WM_MOVE")


; how do i access the control  $iMsg from each 3 menu ; Just as you would normally <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


While 1

    $iMsg = GUIGetMsg()
    Switch $iMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $cSect_4
            ; Toggle the section in the child GUI programatically
            _GUIExtender_Section_Action($hGUI_Child, $iSection_4, 9)
        Case $Start
            MsgBox($MB_SYSTEMMODAL, "Hi", "Start button in blue section pressed")
        Case $Child_Start
            MsgBox($MB_SYSTEMMODAL, "Hi", "Start button in green section pressed")
        Case $cPink_Button
            MsgBox($MB_SYSTEMMODAL, "Hi", "Test button in pink section pressed")
    EndSwitch

    ; Pass main GUI handle and event message to the UDF so it can action its extendable section automatically
    _GUIExtender_EventMonitor($hGUI, $iMsg)

WEnd




Func _WM_MOVE($hWnd, $iMsg, $wParam, $lParam)
    ; If the main GUI moves
    If $hWnd = $hGUI Then
        ; Move the child to follow
        Local $aGUI_Pos = WinGetPos($hWnd)
        WinMove($hGUI_Child, "", $aGUI_Pos[0], $aGUI_Pos[1] + $aGUI_Pos[3])
    EndIf
EndFunc   ;==>_WM_MOVE

Look for the <<<<<<< lines.

M23

  • Like 1

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

Share this post


Link to post
Share on other sites
antonioj84

Thanks Melba,  I am good to go

Share this post


Link to post
Share on other sites
antonioj84

hi there Melba,

i am almost there, your UdF is very helpful

i am not able to pass value from the blue menu to the green menu otherwise i can send value directly to green . can you show me an example

 

thanks

 

passingDataCapture.JPG

Share this post


Link to post
Share on other sites
Melba23

antonioj84,

That is nothing to do with my UDF. Just use GUICtrlRead on the controls you use to set the required values, concatenate them, and then add the resulting string to the control in the Green section. You created all of these controls inside your script so you can read and write to them as normal.

If you want more help then post the script you are using so I do not have to write one.

M23

P.S. And I have moved your last post to your existing GUIExtender help thread as it has nothing to do with the UDF.


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

Share this post


Link to post
Share on other sites
antonioj84

hi Melba,

Great to know, let me try to figure it out.

Thanks

 

 

Share this post


Link to post
Share on other sites
antonioj84

Hi Melba,

you are correct, thanks  so much for  the assistance.

Share this post


Link to post
Share on other sites
antonioj84

i am wondering does the GUI Extender support borderless GUI, i am trying to hack your code  to no success, the closest i got..  the bottom of the GUI  will be borderless, more in particular the Gui above post #11, i want  top to be borderless

#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

 

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

  • Similar Content

    • Pricehacker
      By Pricehacker
      Title pretty much says it all. Im wondering what button the "primary mouse button" is, and while im here i would also like to know what the "secondary mouse button" is. I´m guessing its the left and right mouse buttons but i could not confirm this.
      Thank you!
    • WoodGrain
      By WoodGrain
      Hi guys,
      I'm learning about GUI's, I'm trying the below code, the idea being if I press the letter "e" while I have the GUI open I want the label color to change to green (I'm using a UDF for label colors). But every time I press "e" on my keyboard I just get a "ding" sound from my speakers and nothing changes with the label.
      I've looked at using something like "While GUIGetMsg() <> $GUI_EVENT_CLOSE" as I've seen it in other code instead of "While 1", but I don't think it's relevant.
      #include <GUIConstantsEx.au3>; for GUI... #include <GUIRichLabel.au3>; UDF for rich text label fonts #include <Misc.au3>; for _IsPressed $myLetter = "e" $hGUI = GUICreate("test", 700, 60) $lbl2 = _GUICtrlRichLabel_Create($hGUI, '<font color="purple">' & $myLetter & '</font>', 10, 10); , 260, 25 GUISetState(@SW_SHOW) Local $hDLL = DllOpen("user32.dll") While 1 if _IsPressed(Hex($myLetter), $hDLL) Then While _IsPressed(Hex($myLetter), $hDLL) Sleep(250) WEnd _GUICtrlRichLabel_SetData($lbl2, '<font color="green">' & $myLetter & '</font>') Sleep(2000) DllClose($hDLL) Exit EndIf Sleep(50) WEnd DllClose($hDLL) I am using an array of letters that I'm wanting to do this for, but as I can't get it to work I've stripped it down to the simplest code I can think of to try and get this working first. Appreciate any help.
      Thanks!
    • nacerbaaziz
      By nacerbaaziz
      hi dears, i have an question please if you can help me.
      i maked an program to do some functions
      and this program works with the global hot keys
      i added an option to the users to change the hot keys
      when i searched about how to do that i found this UDF
      GUIHotkey.au3
      http://www.autoitscript.com/forum/index.php?showtopic=107965
      but the problem here that this UDF cant be detect the win key.
      can you help me to add it, or if there are any others UDFSS wich do that work please give me some.
      i hope that my question is clear for you.
      thanks in advance
    • Silas
      By Silas
      Hello everyone,
      I have a radio button ($Radio1), which I want to disable as soon as another one get's checked (Radio5). (The system fails if the radio button i'm troubling with also gets checked).
      I know how to disable him:
      If GUICtrlRead($Radio1)=1 And Not BitAND(GUICtrlGetState($Radio5), $GUI_DISABLE) Then GUICtrlSetState($Radio5, 128) But if i try to enable $Radio5 again, after $Radio1 isn't checked anymore, it fails:
      If GUICtrlRead($Radio1)=Not 1 And Not BitAND(GUICtrlGetState($Radio5), $GUI_ENABLE) Then GUICtrlSetState($Radio5, 64)  
      Anyone knows why?
    • Bllee
      By Bllee
      every time i press "delete button" delete a line, but i can't add new line with info. the id line write normally but i can't change or add new info
      obs: looking at the "includes" one realizes that already tried of everything that knew
      my code
      #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include <GuiImageList.au3> #include <GuiListView.au3> #include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <MsgBoxConstants.au3> #include <WinAPI.au3> #include <StringConstants.au3> #include <Array.au3> #include <GuiListBox.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 612, 480, 192, 154) $MenuItem1 = GUICtrlCreateMenu("&Arquivo") $MenuItem2 = GUICtrlCreateMenuItem("Salvar Ctrl+S", $MenuItem1, $SS_CENTER) $MenuItem4 = GUICtrlCreateMenuItem("Carregar Ctrl+O", $MenuItem1, $SS_CENTER) $MenuItem3 = GUICtrlCreateMenuItem("Salvar Como Shitft+Ctrl+S", $MenuItem1, $SS_CENTER) $Group1 = GUICtrlCreateGroup("", 21, 8, 569, 97, $SS_CENTER) $Input1 = GUICtrlCreateInput("ID COR", 122, 32, 97, 21, $SS_CENTER) $Input2 = GUICtrlCreateInput("REGIÃO", 138, 64, 249, 21, $SS_CENTER) $Input3 = GUICtrlCreateInput("Label", 264, 30, 121, 21, $SS_CENTER) $Label1 = GUICtrlCreateLabel("Label", 232, 32, 30, 17, $SS_CENTER) $Button1 = GUICtrlCreateButton("Capturar Cor", 42, 30, 75, 25, $SS_CENTER) $Button2 = GUICtrlCreateButton("Capturar Região", 42, 62, 91, 25, $SS_CENTER) $Button3 = GUICtrlCreateButton("ADD", 442, 24, 113, 33) $Button5 = GUICtrlCreateButton("Delet", 442, 64, 113, 33) $Group2 = GUICtrlCreateGroup("Editar ID selecionado", 8, 384, 601, 57, $SS_CENTER) $Input7 = GUICtrlCreateInput("ID", 10, 402, 40,21, $SS_CENTER) $Input4 = GUICtrlCreateInput("COR", 51, 402, 121, 21, $SS_CENTER) $Input5 = GUICtrlCreateInput("REGIÃO", 173, 402, 249, 21, $SS_CENTER) $Input6 = GUICtrlCreateInput("LABEL", 423, 402, 121, 21, $SS_CENTER) $Button4 = GUICtrlCreateButton("\/", 544, 400, 30, 25, $SS_CENTER) $Button6 = GUICtrlCreateButton("/\", 574, 400, 30, 25, $SS_CENTER) ; Add column Global $id = Int(0) $List1 = GUICtrlCreateListView("",5, 120, 601, 253, $SS_CENTER) _GUICtrlListView_AddColumn($List1, "ID",40) _GUICtrlListView_AddColumn($List1, "COR",100) _GUICtrlListView_AddColumn($List1, "COORDENADA",305) _GUICtrlListView_AddColumn($List1, "LABEL",150) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $MenuItem2 MsgBox($MB_SYSTEMMODAL, "ctrl + s", "Nothing Here",1) Case $MenuItem3 MsgBox($MB_SYSTEMMODAL, "shift+ctrl s", "Nothing Here",1) Case $MenuItem4 MsgBox($MB_SYSTEMMODAL, "ctrl + o", "Nothing Here",1) Case $Button1 MsgBox($MB_SYSTEMMODAL, "Capturar cor", "Aperte espaço para capturar a cor") GUICtrlSetData($Input1,MouseColor()) Case $Button2 MsgBox($MB_SYSTEMMODAL, "capturar região", "Aperte espaço para capturar a posição inicial") local $mouse = MouseGetPos() $x_init = $mouse[0] $y_init = $mouse[1] MsgBox($MB_SYSTEMMODAL, "capturar região", "Aperte espaço para capturar a posição final") local $mouse = MouseGetPos() $x_end = $mouse[0] $y_end = $mouse[1] GUICtrlSetData($Input2,$x_init&','&$y_init&' ; '&$x_end&','&$y_end) Case $Button3 _GUICtrlListView_AddItem($List1, $id, 1) ; id _GUICtrlListView_AddSubItem($List1, $id, GUICtrlRead($Input1), 1, 1) ;cor _GUICtrlListView_AddSubItem($List1, $id, GUICtrlRead($Input2), 2, 1) ;coordenada _GUICtrlListView_AddSubItem($List1, $id, GUICtrlRead($Input3), 3, 1) ;label $id= $id + 1 Case $Button4 $Item = _GUICtrlListView_GetSelectedIndices($List1) $Sid = _GUICtrlListView_GetItem($List1, Number($Item),0) $Scor = _GUICtrlListView_GetItem($List1, Number($Item),1) $Scord = _GUICtrlListView_GetItem($List1, Number($Item),2) $Slabel = _GUICtrlListView_GetItem($List1, Number($Item),3) ; get info GUICtrlSetData($Input7,$Sid[3]) GUICtrlSetData($Input4,$Scor[3]) GUICtrlSetData($Input5,$Scord[3]) GUICtrlSetData($Input6,$Slabel[3]) Case $Button5 _GUICtrlListView_DeleteItemsSelected($List1) Case $Button6 ; give back inf if GUICtrlRead($Input7) <> "ID" Then _GUICtrlListView_SetItem($List1, GUICtrlRead($Input4), GUICtrlRead($Input7),1) ;cor _GUICtrlListView_SetItem($List1, GUICtrlRead($Input5), GUICtrlRead($Input7),2) ;coordenada _GUICtrlListView_SetItem($List1, GUICtrlRead($Input6), GUICtrlRead($Input7),3) ;coordenada EndIf EndSwitch WEnd Func MouseColor() local $mouse = MouseGetPos() Return Hex(PixelGetColor($mouse[0],$mouse[1]), 6) EndFunc  
×