Page 1 of 1
CaretPos en EDITBOX
Posted: Fri Feb 14, 2014 6:11 am
by andyglezl
Hola
En un EditBox, estoy utilizando lo siguiente para mover de ubicación el cursor,
lo hace ok, pero no me actualiza el EditBox físicamente. Algo que me falte ?
---------------------------------------------------------------------------
Hello
In an EditBox, I am using the following to move the cursor location,
it does ok, but I do not update the EditBox physically. Something missing me?
---------------------------------------------------------------------------
Code: Select all
ACTION ( w_test.EB_1.CaretPos := 1, w_test.EB_1.SetFocus ) TOOLTIP "Inicio"
ACTION ( w_test.EB_1.CaretPos := LEN( w_test.EB_1.Value ), w_test.EB_1.SetFocus ) TOOLTIP "Fin"
Re: CaretPos en EDITBOX
Posted: Fri Feb 14, 2014 6:27 am
by andyglezl
Presentandolo de otra forma, como simular que moví la ScrollBar hacia el
"Inicio" ó el "Fin" con programacion en el EditBox ?
-----------------------------------------------------------------------
Presenting it in another way, as I moved simulate the ScrollBar to the
"Start" or the "End" with programming in EditBox?
Re: CaretPos en EDITBOX
Posted: Fri Feb 14, 2014 6:30 am
by andyglezl
Ya mejor me voy a dormir...
Re: CaretPos en EDITBOX
Posted: Fri Feb 14, 2014 4:53 pm
by srvet_claudio
Andrés aquí te dejo un ejemplo que funciona perfecto en HMG.3.2
Code: Select all
#include "hmg.ch"
Function Main
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 640 HEIGHT 480 ;
TITLE 'HMG Demo' ;
MAIN
@ 30,10 EDITBOX Edit_1 ;
WIDTH 410 ;
HEIGHT 140 ;
VALUE 'EditBox!!' ;
TOOLTIP 'EditBox' ;
MAXLENGTH 255 ;
nohscroll;
DEFINE BUTTON B
ROW 250
COL 10
WIDTH 130
CAPTION 'Set CaretPos 0'
ACTION ( Form_1.Edit_1.CaretPos := 0 , Form_1.Edit_1.SetFocus )
END BUTTON
DEFINE BUTTON C
ROW 250
COL 150
WIDTH 130
CAPTION 'Set CaretPos End'
ACTION ( Form_1.Edit_1.CaretPos := HMG_LEN(Form_1.Edit_1.Value) , Form_1.Edit_1.SetFocus )
END BUTTON
END WINDOW
Form_1.Center()
Form_1.Activate()
Return Nil
Re: CaretPos en EDITBOX
Posted: Fri Feb 14, 2014 5:44 pm
by andyglezl
Gracias Dr. Claudio
De hecho si me funciona igual como su ejemplo, aquí mas bien necesito
que al momento de oprimir el boton "Set CaretPos End", el Editbox me
muestre el final del texto desplegado.
Así mismo, cuando presione "Set CaretPos 0", me muestre el principio del texto.
Re: CaretPos en EDITBOX
Posted: Fri Feb 14, 2014 5:47 pm
by Javier Tovar
Hola Dr. Claudio,
Gracias por compartir
Saludos
Re: CaretPos en EDITBOX
Posted: Fri Feb 14, 2014 6:45 pm
by srvet_claudio
andyglezl wrote:Gracias Dr. Claudio
De hecho si me funciona igual como su ejemplo, aquí mas bien necesito
que al momento de oprimir el boton "Set CaretPos End", el Editbox me
muestre el final del texto desplegado.
Así mismo, cuando presione "Set CaretPos 0", me muestre el principio del texto.
Esto simula CRTL+HOME y CRTL+END
Code: Select all
#include "hmg.ch"
Function Main
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 640 HEIGHT 480 ;
TITLE 'HMG Demo' ;
MAIN
@ 30,10 EDITBOX Edit_1 ;
WIDTH 410 ;
HEIGHT 140 ;
VALUE 'EditBox!!' ;
TOOLTIP 'EditBox' ;
MAXLENGTH 255 ;
nohscroll;
#define VK_CONTROL 17
#define VK_END 35
#define VK_HOME 36
DEFINE BUTTON B
ROW 250
COL 10
WIDTH 130
CAPTION 'Set CaretPos 0'
ACTION ( Form_1.Edit_1.CaretPos := 0, PressCTRLplus (VK_HOME), Form_1.Edit_1.SetFocus )
END BUTTON
DEFINE BUTTON C
ROW 250
COL 150
WIDTH 130
CAPTION 'Set CaretPos End'
ACTION ( Form_1.Edit_1.CaretPos := HMG_LEN(Form_1.Edit_1.Value), PressCTRLplus (VK_END), Form_1.Edit_1.SetFocus )
END BUTTON
END WINDOW
Form_1.Center()
Form_1.Activate()
Return Nil
FUNCTION PressCTRLplus (nVK)
Keybd_Event ( VK_CONTROL ,.F.)
Keybd_Event ( nVK ,.F.)
Keybd_Event ( nVK ,.T.)
Keybd_Event ( VK_CONTROL ,.T.)
RETURN
Re: CaretPos en EDITBOX
Posted: Fri Feb 14, 2014 8:58 pm
by andyglezl
Perfecto Dr. Soto !
Funciona tal cual, muchas gracias por su ayuda.