antonioj84

GuiExtender problem

22 posts in this topic

#1 ·  Posted

#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



#2 ·  Posted

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

#3 ·  Posted (edited)

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

#4 ·  Posted

antonioj84,

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

M23

1 person likes this

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

#5 ·  Posted

#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

#6 ·  Posted

interactivityCapture.JPG

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

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
1 person likes this

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

#8 ·  Posted

thanks Melba23

Share this post


Link to post
Share on other sites

#9 ·  Posted

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

#10 ·  Posted

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

1 person likes this

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

#11 ·  Posted

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

1 person likes this

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

#12 ·  Posted

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

Share this post


Link to post
Share on other sites

#13 ·  Posted (edited)

#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

#14 ·  Posted

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

1 person likes this

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

#15 ·  Posted

Thanks Melba,  I am good to go

Share this post


Link to post
Share on other sites

#16 ·  Posted

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

#17 ·  Posted

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

#18 ·  Posted

hi Melba,

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

Thanks

 

 

Share this post


Link to post
Share on other sites

#19 ·  Posted

Hi Melba,

you are correct, thanks  so much for  the assistance.

Share this post


Link to post
Share on other sites

#20 ·  Posted

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

    • Jibberish
      By Jibberish
      Hi,
      I am automating the testing of a video player. I search a file for ".mp4" and want to create a GUI with radio buttons to select what video to play. The number of videos can change based on the user's library so this must be created automatically.  I have searched for how to accomplish this and there are several posts out there that help a little but I can't figure out the solution. I pulled the offending code from my main script and created the file below to make this easier to read. I am sure one of our experts here can help!
      #include <MsgBoxConstants.au3> #include <StringConstants.au3> #include <array.au3> #include <File.au3> #include <GUIConstantsEx.au3> Local $sMediaFile = "D:\MediaFiles\MediaFiles.txt" Local $iStrReturn = 0 Local $aText Local $aArrayFile Local $iMax = 6 ;Default number of Videos - 1 for the array counter Local $aVideoName[$iMax] = [0] Local $sCheckBox1 Local $iT = 0, $iVideoCount = 0, $iCount Local $ix = 0 Local $iy = 0 Local $idClose1 Const $iL = 10 ; Count from Left for GUI so all buttons line up ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Read a list of video file names and create a GUI with Radio Buttons to select a single video. ; Problem: We don't know how many video names will be in the text file, so we can't hard code Case Statements & their variables ; Put the Video File Names into an Array _FileReadToArray($sMediaFile, $aArrayFile) For $a = 1 To $aArrayFile[0] ; Step through the array looking for .mp4 If StringInStr($aArrayFile[$a], ".mp4") Then $iVideoCount = $iVideoCount + 1 $aText = StringSplit($aArrayFile[$a],"\\") ; This video player reads double backslashes For $a1 = 1 to $aText[0] ; Check that the array is big enough If StringInStr($aText[$a1], ".mp4") Then ;MsgBox(0,"","Video is " & $aText[$a1]) If UBound($aVideoName) = $iVideoCount Then ; Resize the array when $iCount is equal to the element count in the array to prevent subscript error ReDim $aVideoName[$aVideoName[0] + $iMax] EndIf $aVideoName[$iVideoCount] = $aText[$a1]; add data to new index element $aVideoName[0] = $a1 ; update the index count for future reference ; The idea is to create a GUI width to accommodate long video file names $it = StringLen($aVideoName[$iVideoCount]) If $iT > $ix Then $ix = $iT EndIf EndIf Next EndIf Next ; Move backwards through the array deleting blank rows For $iCount = UBound($aVideoName) - 1 To 0 Step -1 If $aVideoName[$iCount] = "" Then _ArrayDelete($aVideoName, $iCount) EndIf Next ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Create the GUI - Names and Radio Button counts will vary - How do I do this? ; ;_ArrayDisplay($aVideoName) ;Local $aVarName[$aVideoName[0]] Local $iRows = UBound($aVideoName, $UBOUND_ROWS) $iRows = $iRows -1 $aVideoName[0] = $iRows ; Prep the GUI to display the FileNames with Radio Buttons - Can only select one at a time. $a = 0 $ix = $ix + 200 $iy = ($aVideoName[0] * 30) + 60 $hGUI = GUICreate("Videos", $ix, $iy) ;$iT = $iT+30 ; Create the variable names for the Case statement - Video count may change so Video Names displayed and GUICtrlCreateRadio count may change. ;~ For $a = 1 to $aVarName[0] ;~ If UBound($aVarName) = $aVarName Then ;~ ; Resize the array when $iCount is equal to the element count in the array to prevent subscript error ;~ ReDim $aVarName[$aVarName[0] + $iMax] ;~ EndIf ;~ Assign("$bVideoName" & $a, $a) ;~ Local $aVarName[$a] = Eval($bVideoName[$a]) ;~ ; $aVarName[$a] = GUICtrlCreateRadio($aVarName[$a], $iL, $iT) ;~ Next $iCount = 1 ;MsgBox(0,"","VideoName[0] is "&$aVideoName[0]) ;_ArrayDisplay($aVideoName) Local $bVideoName1 If $iCount < $aVideoName[0] Then $bVideoName1 = GUICtrlCreateRadio($aVideoName[$iCount], $iL, $iT) GUICtrlSetState($bVideoName1, $GUI_CHECKED) $iT = $iT+30 EndIf $iCount = $iCount + 1 If $iCount <= ($aVideoName[0]) Then Local $bVideoName2 = GUICtrlCreateRadio($aVideoName[$iCount],$iL,$iT) $iT = $iT+30 EndIf $iCount = $iCount + 1 If $iCount <= ($aVideoName[0]) Then Local $bVideoName3 = GUICtrlCreateRadio($aVideoName[$iCount],$iL,$iT) $iT = $iT+30 EndIf $iCount = $iCount + 1 If $iCount <= ($aVideoName[0]) Then Local $bVideoName4 = GUICtrlCreateRadio($aVideoName[$iCount],$iL,$iT) $iT = $iT+30 EndIf $iCount = $iCount + 1 If $iCount <= ($aVideoName[0] -1) Then Local $bVideoName5 = GUICtrlCreateRadio($aVideoName[$iCount],$iL,$iT) $iT = $iT+30 EndIf $iCount = $iCount + 1 If $iCount <= ($aVideoName[0] -1) Then Local $bVideoName6 = GUICtrlCreateRadio($aVideoName[$iCount],$iL,$iT) $iT = $iT+30 EndIf $iCount = $iCount + 1 If $iCount <= ($aVideoName[0] -1) Then Local $bVideoName7 = GUICtrlCreateRadio($aVideoName[$iCount],$iL,$iT) $iT = $iT+30 EndIf $iT = $iT + 30 $idClose1 = GUICtrlCreateButton("Go!", $iL, $iT) GUISetState(@SW_SHOW) ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Switch Statement ; ;Local $nMsg = "" While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $bVideoName1 Case $bVideoName2 Case $bVideoName3 Case $bVideoName4 Case $bVideoName5 ;Case $bVideoName6 <- Fails because there are only 5 videos - Need variable $bVideoNames ;Case $bVideoName7 <- Fails because there are only 5 videos Case $idClose1 $bVideoName1 = GUICtrlRead($bVideoName1) $bVideoName2 = GUICtrlRead($bVideoName2) $bVideoName3 = GUICtrlRead($bVideoName3) $bVideoName4 = GUICtrlRead($bVideoName4) $bVideoName5 = GUICtrlRead($bVideoName5) ;$bVideoName6 = GUICtrlRead($bVideoName6) ;$bVideoName7 = GUICtrlRead($bVideoName7) ExitLoop EndSwitch WEnd GUIDelete($nMsg) MsgBox(0,"","Case " & $nMsg & " was selected.") ; Always returns 8. ??? This is the "MediaFiles.txt" file I am reading:
      D:\\MediaFiles\\BigBuckBunny.mp4 D:\\MediaFiles\\BigBuckBunny60fps.mp4 D:\\MediaFiles\\Sintel.mp4 D:\\MediaFiles\\sintel-2048-surround.mp4 D:\\MediaFiles\\TearsOfSteel.mp4 D:\\MediaFiles\\tearsofsteel_4K.mp4 I'm sure I have several mistakes (or poor coding methods) in my AutoIt file.
    • Skysnake
      By Skysnake
      Hi
      Maybe I am just being silly, but I don't understand what is supposed to happen here.
      ::/html/functions/GUICreate.htm
      GuiCreate from the Help file has 2 examples.  Specifically, the 2nd example creates a ChildGui.  Or so it says.  I do not see this on screen.
      $hGUI gets created, no problem.
      Local $hChild = GUICreate("ChildGui", 10, 10, 20, 20, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $hGUI) What exactly does this line do? Should I see it on screen?
      Skysnake
    • Skeletor
      By Skeletor
      Hi All,
      I know many newbies search for this feature.
      I decided to share this piece of code with everyone.
      Basically its a "splash screen" that has a transparent image.
      In a nutshell - Gui with a transparent gif.
      Enjoy...
      Download attachment....
       
      Splash Screen GUI.zip
    • Skeletor
      By Skeletor
      Hi Developers,
       
      While trying to find a way to actually style/skin the GUICtrlCreateTabItem, I read the help file and stated:
      My question to you guys is will this be updated? or am I hoping for something that will never come to pass?
      I've seen scripts between 2007 to 2009 allowing the tabs to be modified
      Reason for my question is I'm trying to make my GUI Tabs look more modern.
      Thanks in advance for reading my post.