Page 1 of 1

oGet : Seleccionar todo

Posted: Wed Jan 09, 2008 1:32 pm
by Manuel Aranda
En un objeto GET necesito que, al tomar el foco, se quede todo seleccionado, al igual que hace el submenú del oGet "Seleccionar todo".
He probado con oGet:bGotFocus = { || oGet:SelectAll() } pero no funciona.

Utilizo FWH 2.8 y xHarbour 0.99.61

Re: oGet : Seleccionar todo

Posted: Wed Jan 09, 2008 2:21 pm
by karinha
Manuel Aranda wrote:En un objeto GET necesito que, al tomar el foco, se quede todo seleccionado, al igual que hace el submenú del oGet "Seleccionar todo".
He probado con oGet:bGotFocus = { || oGet:SelectAll() } pero no funciona.

Utilizo FWH 2.8 y xHarbour 0.99.61

// Testing a GET

#include "FiveWin.ch"

Code: Select all

//------------------------------------------------------------------------//

function Main()

   local oDlg
   local dDay := Date()
   local oGet

   DEFINE DIALOG oDlg TITLE "Just a get"

   @ 2,  2 SAY "Date:" OF oDlg
   @ 2,  6 GET oGet VAR dDay OF oDlg SIZE 40, 10 SPINNER ;
      VALID ! Empty( dDay )

   @ 3,  7 BUTTON "&Ok" OF oDlg SIZE 30, 12 ACTION oDlg:End()
   @ 3, 16 BUTTON "&Cancel" SIZE 30, 12 OF oDlg ACTION oDlg:End() CANCEL

   oGet:bGotFocus := { || oGet:SelectAll() }

   ACTIVATE DIALOG oDlg CENTERED

return nil

//------------------------------------------------------------------------//

procedure AppSys   // Xbase++ requirement

return

//------------------------------------------------------------------------//

#ifdef __XPP__
   #define GetNew _GetNew
#endif

CLASS TClipGet FROM Get

   METHOD Display() VIRTUAL

ENDCLASS

//---------------------------------------------------------------------------//

function GetNew( nRow, nCol, bVarBlock, cVarName, cPicture, cColor )

return TClipGet():New( nRow, nCol, bVarBlock, cVarName, cPicture, cColor )

//---------------------------------------------------------------------------//
Saludos

Posted: Wed Jan 09, 2008 9:32 pm
by Manuel Aranda
Gracias, karinha, pero sigue sin funcionar. Supongo que tendrá que ver con la versión de fwh que tengo.

Saludos,
Manuel

Posted: Wed Jan 09, 2008 9:58 pm
by Antonio Linares
Manuel,

METHOD SelectAll() INLINE ::SetSel( 0, -1 )

Posted: Thu Jan 10, 2008 3:08 pm
by Manuel Aranda
Antonio:

Así es como lo tengo en TGET.PRG y no funciona.
En realidad lo que me ocurre es que en el menú contextual del oGet la opción "Pegar" no funciona correctamente, es decir, hay que seleccionar previamente todo el contenido del oGet para que "Pegar" te copie todo el contenido de "Copiar", si no es así, se produce un pegado parcial.

Saludos,
Manuel