Moderators Melba23 Posted March 10, 2017 Moderators Posted March 10, 2017 fopetesl, That is an easy one. You are setting the label style to $SS_CENTER - but by so doing you are overwriting the default $SS_NOTIFY style which is required to allow the label to send an event message when clicked. So you need to combine the styles as follows: $0Box_1 = GUICtrlCreateLabel("Scan", -1, 260, 140, 20, BitOr($SS_NOTIFY, $SS_CENTER)) I suggest reading the Setting Styles tutorial in the Wiki to better understand how styles work. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
fopetesl Posted March 10, 2017 Author Posted March 10, 2017 Did it work for you, M23? For me it hasn't succeeded $0Box_1 = GUICtrlCreateLabel("Scan", -1, 100, 140, 20, BitOr($SS_NOTIFY, $SS_CENTER)) I moved the label into the box first since leaving it at y=260 outside the box it worked as before. Do you need me to repost the whole code? The most powerful number in the Universe. Zero.
Moderators Melba23 Posted March 10, 2017 Moderators Posted March 10, 2017 fopetesl, Of course it worked - or I would not have posted the solution. Please do post your current code and I will take another look. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
fopetesl Posted March 10, 2017 Author Posted March 10, 2017 OK, apologies. expandcollapse popup#include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <StaticConstants.au3> ; Create arrays to hold details of element text and ControlID Global $aBox_1[3][2] = [[" System Setup", 0], [" My Info Tool", 0], [" User Details Tool", 0]] Global $aBox_2[3][2] = [[" Manager Reports", 0], [" Currency Details", 0], [" User Details", 0]] ; Create GUI $hGUI = GUICreate("New GUI", @DesktopWidth * .99, @DesktopHeight * .96, 0, 0,-1) ; Create tab structure $cTab = GUICtrlCreateTab(5, 5, @DesktopWidth * .97, @DesktopHeight * .95,-1,1) ;;;; Acquisition tab and action boxes...... ; Create tab item $cTab_0 = GUICtrlCreateTabItem("Acquisition") ; Create coloured box GUICtrlCreateLabel("", 20, 40, 250, 220,-1,1) GUICtrlSetBkColor(-1, 0xAFEEEE) GUICtrlSetState(-1, $GUI_DISABLE) ; And disable so that element labels are actionable ; Add title GUICtrlCreateLabel("New Sample", 20, 50, 240, 200, BitOr($SS_NOTIFY, $SS_CENTER)) GUICtrlSetFont(-1, 10, 800) ; Set to bold font $0Box_1 = GUICtrlCreateLabel("Scan", -1, 60, 140, 20, BitOr($SS_NOTIFY, $SS_CENTER)) GUICtrlSetFont(-1, 10, 800) ; Set to bold font $0Box_2 = GUICtrlCreateLabel("Start Scan", -1, 100, 140, 20, BitOr($SS_NOTIFY, $SS_CENTER)) GUICtrlSetFont(-1, 10, 800) ; Set to bold font ;;;; ...end..Acquisition tab and action boxes...... ;;;; Manager tab and action boxes...... ; And another $cTab_1 = GUICtrlCreateTabItem("Manager") GUICtrlSetState($cTab_1, $GUI_SHOW) ; Force to be shown when GUI created ; Create coloured box GUICtrlCreateLabel("", 20, 40, 150, 100,-1,1) GUICtrlSetBkColor(-1, 0xFFCCCC) GUICtrlSetState(-1, $GUI_DISABLE) ; And disable so that element labels are actionable ; Add title GUICtrlCreateLabel($aBox_1[0][0], 20, 50, 140, 20) GUICtrlSetFont(-1, Default, 800) ; Set to bold font ; Add actionable elements from the array For $i = 1 To UBound($aBox_1) - 1 $aBox_1[$i][1] = GUICtrlCreateLabel($aBox_1[$i][0], 20, 60 + (20 * $i), 140, 20) Next ; Create another coloured box GUICtrlCreateLabel("", 20, 180, 150, 100,-1,1) GUICtrlSetBkColor(-1, 0xCCCCFF) GUICtrlSetState(-1, $GUI_DISABLE) ; Add title GUICtrlCreateLabel($aBox_2[0][0], 20, 190, 140, 20) GUICtrlSetFont(-1, Default, 800) ; Add actionable elements from the array For $i = 1 To UBound($aBox_2) - 1 $aBox_2[$i][1] = GUICtrlCreateLabel($aBox_2[$i][0], 20, 200 + (20 * $i), 140, 20) Next ;;;;;;;;; ..end.. Manager tab & action boxes ;;;;;;;; ;;;;;;;; Database tab & action boxes..... ; Create another tab item $cTab_0 = GUICtrlCreateTabItem("Database") ;;;;;;;; ..end.. Database tab & action boxes..... ; Close tab structure creation GUICtrlCreateTabItem("") ; Add other controls ;$cButton_1 = GUICtrlCreateButton("Button 1", 10, 410, 80, 30) ; actionable :)) ;$cButton_2 = GUICtrlCreateButton("Button 2", 410, 410, 80, 30) GUISetState() While 1 $iMsg = GUIGetMsg() Switch $iMsg Case $GUI_EVENT_CLOSE Exit ; Case $cButton_1 ; MsgBox($MB_SYSTEMMODAL, "Clicked", "Button 1") ; Case $cButton_2 ; MsgBox($MB_SYSTEMMODAL, "Clicked", "Button 2") Case $0Box_1 MsgBox($MB_SYSTEMMODAL, "Clicked", "Scan") Case $0Box_2 MsgBox($MB_SYSTEMMODAL, "Clicked", "Start Scan") Case Else ; Now look for the ControlID in the arrays For $i = 1 To UBound($aBox_1) - 1 If $iMsg = $aBox_1[$i][1] Then ; It was this element MsgBox($MB_SYSTEMMODAL, "Clicked", $aBox_1[$i][0]) ; No point in looking further ExitLoop EndIf Next For $i = 1 To UBound($aBox_2) - 1 If $iMsg = $aBox_2[$i][1] Then MsgBox($MB_SYSTEMMODAL, "Clicked", $aBox_2[$i][0]) ExitLoop EndIf Next EndSwitch WEnd The most powerful number in the Universe. Zero.
Moderators Melba23 Posted March 10, 2017 Moderators Posted March 10, 2017 fopetesl, See if you can spot the difference between this line and your original: GUICtrlCreateLabel("New Sample", 20, 50, 240, 20, BitOr($SS_NOTIFY, $SS_CENTER)) If you get stuck: Spoiler The original label was 200 deep and so the other labels overlapped. AutoIt will not honour overlapped actionable controls as it cannot read your mind to determine which you meant to action. Always a good place to start debugging when you find controls that refuse to action. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
fopetesl Posted March 10, 2017 Author Posted March 10, 2017 Didn't actually need to see the hidden contents. One extra Zero blew it. Would a debugger have revealed my typo? Must remember it's the height of the label, not the box! Appreciate your patience. The most powerful number in the Universe. Zero.
Moderators Melba23 Posted March 10, 2017 Moderators Posted March 10, 2017 fopetesl, Alas, I fear any debugger would have passed the line as correct - after all, how would it know that you did not really mean to use a perfectly valid value for that parameter? But take heart - you are not alone as I imagine everyone gets caught out by this particular problem from time to time. As I said above, checking for overlaps is always a good place to start debugging when you come across controls that refuse to action - I usually colour the labels to see exactly where they are located. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now