pixelsearch Posted November 3, 2019 Share Posted November 3, 2019 (edited) Hi all The function _GUICtrlListView_SetItemSelected() didn't work in a script I'm working on. So I came back to the example found in the help file (which works), added 1 line to it and could reproduce the issue : As you can see in the 2 pics above, depending on where you exactly insert the GUICtrlCreateButton() line, then _GUICtrlListView_SetItemSelected() will select (or not) item 2 in the listview (though the function returns True in both cases). Here is the complete script, where item 2 appears unselected : #include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <MsgBoxConstants.au3> Example() Func Example() Local $idListview GUICreate("ListView Set Item Selected", 300, 110) Local $idButton = GUICtrlCreateButton("Button", 175, 50, 75, 20) $idListview = GUICtrlCreateListView("", 4, 4, 125, 100) GUISetState(@SW_SHOW) ; Add columns _GUICtrlListView_AddColumn($idListview, "Items", 100) ; Add items _GUICtrlListView_AddItem($idListview, "Item 1") _GUICtrlListView_AddItem($idListview, "Item 2") _GUICtrlListView_AddItem($idListview, "Item 3") ; Select item 2 _GUICtrlListView_SetItemSelected($idListview, 1) ; MsgBox($MB_SYSTEMMODAL, "Information", "Item 2 Selected: " & _ ; _GUICtrlListView_GetItemSelected($idListview, 1)) ; Loop until the user exits. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example Maybe this could help another user facing the same problem. Edit: found why. In the 2nd pic, Button got the focus, so focusing on ListView before calling the function seems to solve all cases : ; Select item 2 GUICtrlSetState($idListview, $GUI_FOCUS) _GUICtrlListView_SetItemSelected($idListview, 1) Edited November 3, 2019 by pixelsearch found why Link to comment Share on other sites More sharing options...
mLipok Posted November 3, 2019 Share Posted November 3, 2019 (edited) Nothing wrong here. ListView is "not focused" so windows change color of selected LV Item. Try to use ControlFocus() function like in this following example: #include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <MsgBoxConstants.au3> Example() Func Example() GUICreate("ListView Set Item Selected", 300, 110) Local $idButton = GUICtrlCreateButton("Button", 175, 50, 75, 20) Local $idListview = GUICtrlCreateListView("", 4, 4, 125, 100) #forceref $idButton GUISetState(@SW_SHOW) ; Add columns _GUICtrlListView_AddColumn($idListview, "Items", 100) ; Add items _GUICtrlListView_AddItem($idListview, "Item 1") _GUICtrlListView_AddItem($idListview, "Item 2") _GUICtrlListView_AddItem($idListview, "Item 3") ; Select item 2 _GUICtrlListView_SetItemSelected($idListview, 1) ControlFocus('ListView Set Item Selected','',$idListview) ; Loop until the user exits. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example Edited November 3, 2019 by mLipok pixelsearch 1 Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
pixelsearch Posted November 3, 2019 Author Share Posted November 3, 2019 Thanks mLipok I used this line a few min ago and it worked fine : GUICtrlSetState($idListview, $GUI_FOCUS) I'll remember to give the focus to ListView as soon as a related function doesn't seem to work in the script Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted November 3, 2019 Moderators Share Posted November 3, 2019 Moved to the appropriate forum. Moderation Team 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 Link to comment Share on other sites More sharing options...
pixelsearch Posted November 3, 2019 Author Share Posted November 3, 2019 (edited) Can't believe I got another button question the same day. This one is related to a good script of Melba23's, found here. His script allows to select any subitem individually in a listview (using the mouse) Pic #1 above : see how the cell is nicely selected when there is a button in the Gui ? Pic #2 : without the button in the Gui, a kind of "row selection shade" appears (on a white background) If anyone got an explanation, thanks for sharing it. To run Melba23's script, a file named "edit-zoom_step_av_value.csv" is required and found at the very end of the post preceding Melba's Edited November 3, 2019 by pixelsearch Link to comment Share on other sites More sharing options...
LarsJ Posted November 3, 2019 Share Posted November 3, 2019 (edited) Just add _GUICtrlListView_SetCallBackMask( $cListview, 4 ) ; Disable state information about focused item immediately after creation of the listview. This command disables the dotted focus rectangle around the listview item which has the input focus. Untested. But it should work. Edited November 3, 2019 by LarsJ pixelsearch 1 Controls, File Explorer, ROT objects, UI Automation, Windows Message MonitorCompiled code: Accessing AutoIt variables, DotNet.au3 UDF, Using C# and VB codeShell menus: The Context menu, The Favorites menu. Shell related: Control Panel, System Image ListsGraphics related: Rubik's Cube, OpenGL without external libraries, Navigating in an image, Non-rectangular selectionsListView controls: Colors and fonts, Multi-line header, Multi-line items, Checkboxes and icons, Incremental searchListView controls: Virtual ListViews, Editing cells, Data display functions Link to comment Share on other sites More sharing options...
pixelsearch Posted November 3, 2019 Author Share Posted November 3, 2019 Thx LarsJ Your line of code did it, in Melba's script (without the button) and also in a little script I'm working on, learning how to select subitems not only with clicks but with the 4 direction keys, Enter key being managed in ListView via Yashied's Wsp.dll found here... which made you react there We're lucky to have you on this site. FrancescoDiMuro 1 Link to comment Share on other sites More sharing options...
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