Page 1 of 1
Marcar Contenido de 1 GET
Posted: Sat May 25, 2024 5:24 pm
by José Camilo
Buenas tardes !!
Necesito que al ingresar a un GET con contenido todo el contenido quede "seleccionado" de manera que al oprimir cualquier letra dicho contenido se borre y quede lo nuevo que escribo.
Como se puede realizar?
Gracias
Re: Marcar Contenido de 1 GET
Posted: Sat May 25, 2024 5:47 pm
by karinha
Re: Marcar Contenido de 1 GET
Posted: Sat May 25, 2024 6:18 pm
by José Camilo
Gracias Joao!!!
Pero no me funciona.
lo mio es un get comun, no multiline ni memo.
gracias igual.
Re: Marcar Contenido de 1 GET
Posted: Sat May 25, 2024 9:03 pm
by cmsoft
Hola Jose Camilo:
Puedes hacer
Code: Select all | Expand
REDEFINE GET oGet VAR cTexto ID 1001 OF oDlg
oGet:bGotFocus :={|| oGet:SelectAll()}
Esto hará que cada vez que el control get tome el foco, se seleccione todo, y si escribes un texto nuevo se sobreescriba
Re: Marcar Contenido de 1 GET
Posted: Sat May 25, 2024 9:49 pm
by José Camilo
Gracias Cesar !!!
perfecto.
Re: Marcar Contenido de 1 GET
Posted: Sun May 26, 2024 4:17 am
by Armando
José Camilo:
El comportamiento natural de un GET es que cuando toma el foco, aunque el cursor se posiciona al principio,
al momento de iniciar a teclear, el contenido anterior es sustituido por lo nuevo que se esta tecleando.
Pero, imaginemos que solo quieres cambiar el último carácter, al momento de mover el cursor a la posición
a sustituir, el comportamiento del párrafo anterior se anula. En otras palabras, el movimiento del cursor anula
el comportamiento inicial.
Solo debes usar un PICTURE como este Picture "@K", échale un ojito a los PICTURE
Saludos
Re: Marcar Contenido de 1 GET
Posted: Mon May 27, 2024 7:32 am
by paquitohm
Armando wrote:José Camilo:
El comportamiento natural de un GET es que cuando toma el foco, aunque el cursor se posiciona al principio,
al momento de iniciar a teclear, el contenido anterior es sustituido por lo nuevo que se esta tecleando.
Saludos
IMHO ese es un comportamiento peligroso. Cualquier tecla borrará el contenido. Puede dar lugar a muchas modificaciones indebidas de datos
Re: Marcar Contenido de 1 GET
Posted: Mon May 27, 2024 1:46 pm
by karinha
Paquito, Armando tiene razón.
Code: Select all | Expand
// C:\FWH\SAMPLES\SILVGETC.PRG
#include 'fivewin.ch'
FUNCTION Main()
LOCAL oDlg, oGet, oBtn
LOCAL lTest := .T.
LOCAL nDimX := SPACE(60)
SET _3DLOOK ON
SET CONFIRM ON
nDimX := "JOSE CAMILO, PAQUITOHM AND FIVEWIN THE BEST IN PICTURE"
DEFINE DIALOG oDlg TITLE "A simple GET" FROM 2, 2 TO 11, 60
IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
Set( _SET_INSERT, ! Set( _SET_INSERT ) )
ENDIF
@ 1.5, 2 GET oGet VAR nDimX SIZE 200, 12 OF oDlg PICTURE "@K!" ;
VALID( LIMPIA_GET_SIL( oGet ) )
oGet:bGotFocus := {|| oGet:SelectAll() }
@ 2.5, 4 BUTTON oBtn PROMPT "&Ok" SIZE 45, 12 OF oDlg ;
ACTION ( oDlg:End(), MsgInfo( nDimX ) ) DEFAULT
@ 2.5, 15 BUTTON "&Cancel" SIZE 45, 12 OF oDlg ;
ACTION ( oDlg:End(), MsgInfo( nDimx ) )
ACTIVATE DIALOG oDlg CENTERED
IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
Set( _SET_INSERT, ! Set( _SET_INSERT ) )
ENDIF
SET CONFIRM OFF
RETURN NIL
FUNCTION LIMPIA_GET_SIL( oGet )
IF GETASYNCKEY( VK_UP )
oGet:bGotFocus := {|| oGet:SelectAll() }
RETURN( .T. )
ENDIF
RETURN( .F. )
// FIN / END
Regards, saludos.
Re: Marcar Contenido de 1 GET
Posted: Mon May 27, 2024 3:32 pm
by Armando
paquitohm wrote:Armando wrote:José Camilo:
El comportamiento natural de un GET es que cuando toma el foco, aunque el cursor se posiciona al principio,
al momento de iniciar a teclear, el contenido anterior es sustituido por lo nuevo que se esta tecleando.
Saludos
IMHO ese es un comportamiento peligroso. Cualquier tecla borrará el contenido. Puede dar lugar a muchas modificaciones indebidas de datos
Paquito:
Creo que me explique mal, no es un comportamiento natural de los GETs, puedes hacer que lo que se teclee
nuevo sustituya a lo existente usando la cláusula PICTURE "@K", que es lo que Camilo necesita, pero ya es
decisión del programador usarlo o no.
Saludos
Re: Marcar Contenido de 1 GET
Posted: Mon May 27, 2024 3:46 pm
by José Camilo
Buenos dias!!!
Gracias a todos los que contestaron.
me parecia que normalmente cuando ingresaba a un get con contenido al escribir algo ese contenido desaparecia, pero me paso que con la clausula Font dejaba de hacer ese efecto.
Listo. ya esta solucionado tanto con el font como con lo sugerido por Cesar.
MUCHAS GRACIAS!!!