Parthiban

Unable to get the Item text using _GUICtrlListView_GetItemTextArray

8 posts in this topic

#1 ·  Posted (edited)

Hi

I try to get the item text of a list view. I can able to get the row count , column count of the list view and unable to get the item text. It returns only empty text always.

Please help me.

Thanks in Advance.

#include <GuiComboBox.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiListBox.au3>
#include <GuiListView.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <Array.au3>

Example()

Func Example()

   Local $sWindowName = "MyWindow"

   If WinExists($sWindowName) Then
      WinActivate($sWindowName)
      WinWaitActive($sWindowName)

      send("{F3}")
      Sleep(100)

      $classDetails = "[CLASS:SysListView32; INSTANCE:1]"
      $hLV = ControlGetHandle($sWindowName, "", $classDetails)
      $iRows = _GUICtrlListView_GetItemCount($hLV)
      MsgBox($MB_OK, "Row Count",$iRows)
      $aItem = _GUICtrlListView_GetItemTextArray($hLV,1)
      MsgBox($MB_OK, "Column Count",$aItem[0])

      For $i = 1 To $aItem[0]
         $sText = String($aItem[$i])
         MsgBox($MB_OK, "Column " & String($i),$sText)
      Next
   EndIf

EndFunc

Post.au3

Edited by Parthiban

Share this post


Link to post
Share on other sites



Use the code editor please if you don't need a screen reader. Select <> in the editor.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

Hi

I can't understand your point please explain.

Share this post


Link to post
Share on other sites

The code you provided is hard to read for some people. So it's good to place in a code box that offers syntax highlighting and tabulation of code. If for some reason you did this on purpose e.g. screen reader, then please forgive me.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

Thanks.. as it is my first post i did like that. Thanks for correcting myself..

I try to get the item text of a list view. I can able to get the row count , column count of the list view and unable to get the item text. It returns only empty text always.

Please help me.

Thanks in Advance.

#include <GuiComboBox.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiListBox.au3>
#include <GuiListView.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <Array.au3>

Example()

Func Example()

   Local $sWindowName = "MyWindow"

   If WinExists($sWindowName) Then
      WinActivate($sWindowName)
      WinWaitActive($sWindowName)

      send("{F3}")
      Sleep(100)

      $classDetails = "[CLASS:SysListView32; INSTANCE:1]"
      $hLV = ControlGetHandle($sWindowName, "", $classDetails)
      $iRows = _GUICtrlListView_GetItemCount($hLV)
      MsgBox($MB_OK, "Row Count",$iRows)
      $aItem = _GUICtrlListView_GetItemTextArray($hLV,1)
      MsgBox($MB_OK, "Column Count",$aItem[0])

      For $i = 1 To $aItem[0]
         $sText = String($aItem[$i])
         MsgBox($MB_OK, "Column " & String($i),$sText)
      Next
   EndIf

EndFunc

 

Share this post


Link to post
Share on other sites

I tried your code on a XP explorer window and it worked nice without issue...

Share this post


Link to post
Share on other sites

Hi Mikell

I have tried so many sysListview and i can able to fetch the item text other than the one i have to fetch. I can able to fetch the row count and column count perfectly but the array having the empty text. I wonder how.

Also i have tried to fetch the contents by Send("{CTRLDOWN}c{CTRLUP}"). But when fire this another window is opening as its functionality. Failed in this method also.

Share this post


Link to post
Share on other sites

Hmm I see, please try this

Func Example()
   Local $sWindowName = "MyWindow"  

   If WinExists($sWindowName) Then
      WinActivate($sWindowName)
      WinWaitActive($sWindowName)
   ;   send("{F3}")
   ;   Sleep(100)
      $classDetails = "[CLASS:SysListView32; INSTANCE:1]"
      $hLV = ControlGetHandle($sWindowName, "", $classDetails)
      $iRows = _GUICtrlListView_GetItemCount($hLV)
  ;    MsgBox($MB_OK, "Row Count",$iRows)
      $aItem = _GUICtrlListView_GetItemTextArray($hLV,1)
  ;    MsgBox($MB_OK, "Column Count",$aItem[0])

       Local $res[$iRows][$aItem[0]]
       For $i = 0 to $iRows-1
           $tmp = _GUICtrlListView_GetItemTextArray($hLV, $i)
               For $j = 1 to $tmp[0]
                   $res[$i][$j-1] = $tmp[$j] 
               Next
       Next
      _ArrayDisplay($res)

    EndIf
EndFunc

 

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