Sobre UDF _GUICtrlEdit_SetText

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
sally
Mensajes: 10
Registrado: 23 Ene 2014, 06:11
Ubicación: Cuba - La Habana

Sobre UDF _GUICtrlEdit_SetText

Mensaje por sally »

Hola a todos amigos!

Mi problema es que estoy usando la UDF _GUICtrlEdit_SetText y no me funciona.

Cuando pruebo a capturar el texto que supuestamente se debería poner en el Edit después de la función _GUICtrlEdit_SetText me da como respuesta que está vacío.

El código que tengo es este:

#include <GuiEdit.au3>

; Set Text
_GUICtrlEdit_SetText("[CLASS:Edit; INSTANCE:1]", "texto de prueba")

; Get Text
MsgBox(0, "Information", _GUICtrlEdit_GetText("[CLASS:Edit; INSTANCE:1]"))

El mensaje me sale vacío.

Alguna idea de lo que me puede estar pasando???

Muchos saludos y gracias de antemano.
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: Sobre UDF _GUICtrlEdit_SetText

Mensaje por arkcrew »

Hola,

Así de primeras lo que se me ocurre es que quizás estés poniendo mal el foco sobre el control,¿Te has asegurado de que el texto se envía correctamente?

Saludos
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Sobre UDF _GUICtrlEdit_SetText

Mensaje por Dany »

mira la ayuda de las funciones

_GUICtrlEdit_SetText ($hWnd,$sText )
Parametros:
$hWnd Control ID/Handle to the control
$sText String to place in edit control


y _GUICtrlEdit_GetText ($hWnd)
Parametros
$hWnd Control ID/Handle to the control

Ejemplo:

Código: Seleccionar todo

#include <GuiEdit.au3>

;Ejecutamos el bloc de notas
Run("notepad.exe")
;Esperamos hasta que exista el notepad
WinWait("[CLASS:Notepad]")

;obtenemos el handle del control "Edit1" del notepad
local $hEdit1Handle=ControlGetHandle("[CLASS:Notepad]", "", "Edit1")

; llamamos settext pasando como parametro el handle del Edit1 y segundo parametro el texto
_GUICtrlEdit_SetText($hEdit1Handle, "texto de prueba")

; Obtenemos el texto en el Edit1 del notepad pasando como parametro el handle del Edit1
MsgBox(0, "Information", _GUICtrlEdit_GetText($hEdit1Handle))

saludos
  • ............................................Imagen
    ......................................Imagen
sally
Mensajes: 10
Registrado: 23 Ene 2014, 06:11
Ubicación: Cuba - La Habana

Re: Sobre UDF _GUICtrlEdit_SetText

Mensaje por sally »

Hola, muchas gracias por contestar!!!

Dany, pude resolver con el ejemplo que me enviaste.

Ya había visto en la ayuda esto que me pones...

_GUICtrlEdit_SetText ($hWnd,$sText )

Parametros:
$hWnd Control ID/Handle to the control
$sText String to place in edit control

pero en el parámetro $hWnd le estaba pasando el ID del control y no el Handle, con lo cual sí pude resolver. Pero lo que no entiendo es que ahí en la ayuda dice que puede ser cualquiera de los dos, alguna idea de por qué no funciona directamente con el control ID del Edit??

Muchas saludos
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Sobre UDF _GUICtrlEdit_SetText

Mensaje por Dany »

ID es cuando el control, en este caso el edit esta en tu aplicación. ejemplo:

Código: Seleccionar todo

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <GuiEdit.au3>



Example()


Func Example()
    Local $ID_Edit, $msg

    GUICreate("My GUI edit") ; will create a dialog box that when displayed is centered

    $ID_Edit = GUICtrlCreateEdit("First line" & @CRLF, 176, 32, 121, 97, $ES_AUTOVSCROLL + $WS_VSCROLL)
    GUISetState()

;colocamos el texto en mi edit usando el ID. (en nuestra gui tambien funcionaria pasando el handle GUICtrlGetHandle($ID_Edit)
   _GUICtrlEdit_SetText($ID_Edit, "texto de prueba")
   ;_GUICtrlEdit_SetText(GUICtrlGetHandle($ID_Edit), "texto de prueba")
   
   
    While 1
        $msg = GUIGetMsg()

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
EndFunc   ;==>Example

Pero cuando es una aplicacion externa siempre debes tratar con los handles.


saludos
  • ............................................Imagen
    ......................................Imagen
sally
Mensajes: 10
Registrado: 23 Ene 2014, 06:11
Ubicación: Cuba - La Habana

Re: Sobre UDF _GUICtrlEdit_SetText

Mensaje por sally »

Opsss, más que claro ahora Dany, muchas gracias por todo, creo que andaré por acá en cualquier momento con más dudas.

Saludos
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Sobre UDF _GUICtrlEdit_SetText

Mensaje por Dany »

Un gusto poder ayudarte :)

esperamos verte pronto.

Saludos :smt027
  • ............................................Imagen
    ......................................Imagen
Responder