Sign in to follow this  
Followers 0
ptrex

Difference Between Guictrlread() And Controlgettext()

3 posts in this topic

I am strugling reading data from a control using GUICtrlREad() function.

When I use ControlReadText I get the text of the control, but when I try to use GUICtrilRead I don' t ??

If I read the help file both funtions should be able the read the data (text) from a control.

Here is the code to test with on the windows file explorer.

PS The code is in OnEventMode 1.

#include <ANYGUI.au3>
#include <guiconstants.au3>

Opt("WinTitleMatchMode", 4); Allow ClassName lookup to avoid window confusion
Opt("GUIOnEventMode", 1); Change to OnEvent mode

Global $handleList = ""
Dim $Test

While 1
    $appWindow = WinGetHandle("classname=ExploreWClass")
    If @error Then
        $handleList = ""; No Explorer windows found, so clear the list
        sleep(250)
        ContinueLoop
    EndIf
    
;If $appWindow is not in our list, add it
    If Not StringInStr($handleList, "|" & $appWindow) Then
        $handleList = $handleList & "|" & $appWindow
        Addbutton($appWindow)
    Else
;;MsgBox(4096,"debug","present")
    EndIf
                   $test=GUICtrlRead(41477,1)
    sleep(250)
WEnd


Func Clicked()
;$test=ControlGetText("","",41477)
; GUICtrlRead(41477,1)
    MsgBox(0,"TEST","OK  "&$test)
EndFunc

Func AddButton($winhandle)
    Local $Targetwindow, $btn
    $Targetwindow = _GuiTarget($winhandle,"","FolderView",40960)
    $btn = _TargetaddButton ( "New Button", 740, 3, 80, 30,"","",$Targetwindow)
    GUICtrlSetOnEvent($btn[0], "Clicked")   
    GUISetState(@SW_SHOW)
EndFunc

I have put "$test=GUICtrlRead(41477,1)" this on different positions in the code but no result.

When you replace this code with the ControlGetText() function it works.

But I need to have the GUICtrlRead() for non text data to retrieve.

Anyone a hint ? :think:

Share this post


Link to post
Share on other sites



I am strugling reading data from a control using GUICtrlREad() function.

When I use ControlReadText I get the text of the control, but when I try to use GUICtrilRead I don' t ??

If I read the help file both funtions should be able the read the data (text) from a control.

Here is the code to test with on the windows file explorer.

PS The code is in OnEventMode 1.

#include <ANYGUI.au3>
#include <guiconstants.au3>

Opt("WinTitleMatchMode", 4); Allow ClassName lookup to avoid window confusion
Opt("GUIOnEventMode", 1); Change to OnEvent mode

Global $handleList = ""
Dim $Test

While 1
    $appWindow = WinGetHandle("classname=ExploreWClass")
    If @error Then
        $handleList = ""; No Explorer windows found, so clear the list
        sleep(250)
        ContinueLoop
    EndIf
    
;If $appWindow is not in our list, add it
    If Not StringInStr($handleList, "|" & $appWindow) Then
        $handleList = $handleList & "|" & $appWindow
        Addbutton($appWindow)
    Else
;;MsgBox(4096,"debug","present")
    EndIf
                   $test=GUICtrlRead(41477,1)
    sleep(250)
WEnd
Func Clicked()
;$test=ControlGetText("","",41477)
; GUICtrlRead(41477,1)
    MsgBox(0,"TEST","OK  "&$test)
EndFunc

Func AddButton($winhandle)
    Local $Targetwindow, $btn
    $Targetwindow = _GuiTarget($winhandle,"","FolderView",40960)
    $btn = _TargetaddButton ( "New Button", 740, 3, 80, 30,"","",$Targetwindow)
    GUICtrlSetOnEvent($btn[0], "Clicked")   
    GUISetState(@SW_SHOW)
EndFunc

I have put "$test=GUICtrlRead(41477,1)" this on different positions in the code but no result.

When you replace this code with the ControlGetText() function it works.

But I need to have the GUICtrlRead() for non text data to retrieve.

Anyone a hint ? :think:

GuiCtrlRead is for Autoit created controls not external controls

Controlgettext will work on both autoit created controls and standard ms controls.


SciTE for AutoItDirections for Submitting Standard UDFs

 

Don't argue with an idiot; people watching may not be able to tell the difference.

 

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
Sign in to follow this  
Followers 0