FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour C贸mo salir de GET tipo memo con tecla return ?
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
C贸mo salir de GET tipo memo con tecla return ?
Posted: Fri Feb 05, 2016 04:29 PM

Hola foreros:

Normalmente para salir de un GET tipo memo (multi l铆nea)
debemos usar la tecla TAB, 驴hay forma de salir con la tecla
RETURN?

Usando PELLESC para configurar el GET con WANT RETURN
a YES, al oprimir la tecla RETURN pasa a otro rengl贸n dentro
del mismo GET, como si fuera el CRLF, con WANT RETURN
a NO, al oprimir la tecla RETURN no pasa de rengl贸n, pero
tampoco pasa al siguiente GET, eso es lo que quiero, que
salte al siguiente GET con la tecla RETURN y no con la tecla
TAB.

Espero haberme explicado :D

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: C贸mo salir de GET tipo memo con tecla return ?
Posted: Fri Feb 05, 2016 04:57 PM
Hago asi,

Code (fw): Select all Collapse
      oGet[4]:bKeyDown:={|nKey|IF(nKey==VK_RETURN, VER_FOCO_GET4( oGet ),)}

贸, 

      REDEFINE GET oGet[5] VAR cCC ID 22 OF oDlgEnv MEMO  ;
               FONT oFont1 UPDATE COLORS nRgb(0,0,220),nRgb(253,252,213)

      oGet[5]:bLostFocus := { || oGet[5]:SetColor( CLR_BLACK, CLR_WHITE) }
      oGet[5]:bGotFocus  := { || oGet[5]:SetColor( CLR_BLACK, nRGB( 255,255,45 )), oGet[5]:setsel(0,0) }

      oGet[5]:cToolTip := OemToAnsi( "Contato(Email) Para Enviar com C垄pia" )

      // Para que o GET com MEMO possa "pular" Para o Proximo GET. Afff!!
      oGet[5]:bKeyDown:={|nKey|IF(nKey==VK_RETURN, VER_FOCO_GET5( oGet ), ;
                               IF(nKey==VK_UP, oGet[4]:SetFocus(), ) ) }

// Si necesario...

FUNCTION VER_FOCO_GET4( oGet )

   oGet[5]:SetFocus()
   oGet[5]:bGotFocus := { || oGet[5]:SetPos(0), Nil }

RETURN( .T. )

FUNCTION VER_FOCO_GET5( oGet )

   oGet[6]:SetFocus()   // nao funciona com XFOCUS()
   oGet[6]:bGotFocus := { || oGet[6]:SetPos(0), Nil }

RETURN( .T. )


Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: C贸mo salir de GET tipo memo con tecla return ?
Posted: Fri Feb 05, 2016 06:28 PM

karinha

Muito obrigado, voy a testar.

Abracos :D

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: C贸mo salir de GET tipo memo con tecla return ?
Posted: Fri Feb 05, 2016 08:09 PM
karinha

Lo tengo as铆 pero no me funciona.

Code (fw): Select all Collapse
        REDEFINE GET aGets[15] VAR oHdr:DES ID 201 OF oFld:aDialogs[2] UPDATE;
            MEMO COLORS nRgb(0,0,220),nRgb(253,252,213) ;
            MESSAGE "Descripci贸n del pedido"

            aGets[15]:bGotFocus := {|o| o:SetColor(RGB(0,0,0),RGB(197,205,255))}
            aGets[15]:bLostFocus    := {|o| o:SetColor(RGB(0,0,0),RGB(255,255,255))}

            aGets[15]:bKeyDown:={|nKey|IF(nKey==VK_RETURN, DarFoco(aGets),IF(nKey==VK_UP, aGets[14]:SetFocus(), ) ) }

...
...
...

FUNCTION DarFoco( aGets )
    MsgInfo("HOLA")
   aGets[16]:SetFocus()
   aGets[16]:bGotFocus := { || aGets[16]:SetPos(0), Nil }
RETURN(.T.)


No muestra el texto "HOLA"

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: C贸mo salir de GET tipo memo con tecla return ?
Posted: Fri Feb 12, 2016 01:44 PM
Code (fw): Select all Collapse
// TESTMEM.PRG AND TESTMEM.RC - Cortesia para Armando. 12/02/2016
// By: Jo茫o Santos - S茫o Paulo - Brasil - Email: <!-- e --><a href="mailto:kapiabafwh@bol.com.br">kapiabafwh@bol.com.br</a><!-- e -->

#include "FiveWin.ch"
#define ID_MEMO  110
#define ID_MEMO2 111

function Main()

   LOCAL oDlg, n:=0
   LOCAL cText  := SPACE(150)
   LOCAL cText2 := SPACE(150)
   LOCAL oGet := ARRAY(5)
   LOCAL nKey := VK_ESCAPE

   SET _3DLOOK ON

   DEFINE DIALOG oDlg RESOURCE "MemoEdit" COLORS CLR_BLACK, CLR_WHITE ;
          TRANSPARENT

   REDEFINE GET oGet[1] VAR cText  MEMO ID ID_MEMO  OF oDlg UPDATE ;
            COLORS nRgb(0,0,220),nRgb(253,252,213)

   oGet[1]:bGotFocus  := {|o| o:SetColor(RGB(0,0,0),RGB(197,205,255))}
   oGet[1]:bLostFocus := {|o| o:SetColor(RGB(0,0,0),RGB(255,255,255))}

   oGet[1]:bKeyDown:={|nKey|IF(nKey==VK_RETURN, oGet[2]:SetFocus(), ) }

   REDEFINE GET oGet[2] VAR cText2 MEMO ID ID_MEMO2 OF oDlg  UPDATE ;
            COLORS nRgb(0,0,220),nRgb(253,252,213)

   oGet[2]:bGotFocus  := {|o| o:SetColor(RGB(0,0,0),RGB(197,205,255))}
   oGet[2]:bLostFocus := {|o| o:SetColor(RGB(0,0,0),RGB(255,255,255))}

   oGet[2]:bKeyDown:={|nKey|IF(nKey==VK_RETURN, DARFOCO( oGet ), ;
                            IF(nKey==VK_UP, oGet[1]:SetFocus(), ) ) }

   REDEFINE BUTTON ID 2 OF oDlg ACTION( oDlg:End() ) CANCEL

   ACTIVATE DIALOG oDlg CENTERED

return nil

FUNCTION DarFoco( oGet )

   MsgInfo( "HOLA ARMANDO, COMO NO FUNCIONA?" )

   oGet[1]:VARPUT( "HOLA ARMANDO, COMO NO FUNCIONA?" )
   oGet[1]:Refresh()

   oGet[2]:VARPUT( "HOLA ARMANDO, COMO NO FUNCIONA?" )
   oGet[2]:Refresh()

   oGet[1]:SetFocus()
   oGet[1]:bGotFocus := { || oGet[1]:SetPos(0), Nil }

RETURN(.T.)

/*  // TESTMEM.RC for Armando
#include "..\include\WinApi.ch"
#include "TestMemo.ch"

MemoEdit DIALOG 205, 97, 187, 113
STYLE DS_ABSALIGN | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "MemoEditing con Vk_Return"
FONT 8, "Arial"
{
 EDITTEXT ID_MEMO, 3, 6, 180, 15, ES_MULTILINE | ES_WANTRETURN | WS_BORDER | WS_GROUP | WS_TABSTOP
 EDITTEXT ID_MEMO2, 3, 26, 180, 15, ES_MULTILINE | ES_WANTRETURN | WS_BORDER | WS_GROUP | WS_TABSTOP
 DEFPUSHBUTTON "&Ok", 1, 51, 96, 36, 14
 PUSHBUTTON "&Cancel", 2, 100, 96, 36, 14
}
*/


Saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: C贸mo salir de GET tipo memo con tecla return ?
Posted: Mon Feb 15, 2016 04:22 PM

Karinha:

Muchas gracias

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero

Continue the discussion