Cómo salir de GET tipo memo con tecla return ?

Cómo salir de GET tipo memo con tecla return ?

Postby Armando » Fri Feb 05, 2016 4: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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cómo salir de GET tipo memo con tecla return ?

Postby karinha » Fri Feb 05, 2016 4:57 pm

Hago asi,

Code: Select all  Expand view

      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
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cómo salir de GET tipo memo con tecla return ?

Postby Armando » Fri Feb 05, 2016 6: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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cómo salir de GET tipo memo con tecla return ?

Postby Armando » Fri Feb 05, 2016 8:09 pm

karinha

Lo tengo así pero no me funciona.

Code: Select all  Expand view

        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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cómo salir de GET tipo memo con tecla return ?

Postby karinha » Fri Feb 12, 2016 1:44 pm

Code: Select all  Expand view

// TESTMEM.PRG AND TESTMEM.RC - Cortesia para Armando. 12/02/2016
// By: João Santos - São Paulo - Brasil - Email: kapiabafwh@bol.com.br

#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
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cómo salir de GET tipo memo con tecla return ?

Postby Armando » Mon Feb 15, 2016 4: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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 74 guests