Get Multiline y Get

Get Multiline y Get

Postby FranciscoA » Wed Oct 05, 2016 5:21 pm

Saludos amigos del foro.

Tengo una function que emula un teclado (con sus botones), y un Get.

Cuando utilizo un Get de manera "normal", las siguientes lineas funcionan correctamente... pero si uso GET MULTILINE no hacen nada. ¿Que me falta?

Code: Select all  Expand view
      REDEFINE GET oGet1 VAR cVar  ID 143 OF oDlg UPDATE    //Sin MULTILINE funciona perfectamente
 
      // REDEFINE GET oGet1 VAR cVar MULTILINE ID 143 OF oDlg UPDATE    //Con MULTILINE no funciona.

        REDEFINE BTNBMP oBtn1 ID 200 OF oDlg ACTION ( SetFocus( oGet1:hWnd ),;
                                                     oGet1:KeyDown(VK_BACK) )   CENTER NOBORDER  

 
¿Alguno de ustedes ya ha pasado por esto? ¿Como lo ha solucionado?

Agradezco de antemano cualquier sugerencia o codigo que puedan compartir.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2110
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Get Multiline y Get

Postby karinha » Wed Oct 05, 2016 7:02 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7215
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Get Multiline y Get

Postby FranciscoA » Thu Oct 06, 2016 5:10 pm

Karinha, gracias por contestar.
Ya habia visto ese post, pero no es lo que expongo. Lo que no se ejecuta es oGet1:KeyDown(VK_BACK) en GET MULTILINE, pero si en en GET standard.

Code: Select all  Expand view
 REDEFINE GET oGet1 VAR cVar MULTILINE ID 143 OF oDlg UPDATE    //Con MULTILINE no funciona.

        REDEFINE BTNBMP oBtn1 ID 200 OF oDlg ACTION ( SetFocus( oGet1:hWnd ),;
                                                     oGet1:KeyDown(VK_BACK) )   CENTER NOBORDER  
 

Voy a exponer un codigo auto-contenido para que puedan probarlo.

Gracias.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2110
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Get Multiline y Get

Postby karinha » Thu Oct 06, 2016 6:06 pm

Sorry, no comprendo mui bién el que intentas hacer, mas intenta esto:

Code: Select all  Expand view

oDlg:bStart := { || oGet1:SetFocus(  .t.  )  }
 


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7215
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Get Multiline y Get

Postby karinha » Thu Oct 06, 2016 7:05 pm

Mira se ayuda:

Code: Select all  Expand view

#include "fivewin.ch"

function main()

   local oDlg, omGet, oGet, oBtn1, oBtn2
   local cGet := 0
   local cmGet := "Testing 1"+CRLF+"Testing 2"+CRLF+"Testing 3"

   DEFINE DIALOG oDlg FROM 5, 5 TO 35, 44 TITLE "Cursor Position Test"

   @ 1,1 GET oGET VAR cGet OF oDlg SIZE 25,10 CENTERED //DISABLED

   @ 3,1 GET omGet VAR cmGet OF oDlg SIZE 140,140 MULTILINE

   oGet:Disable()

   oGet:OnKeyDown := { || oGet:cText := omGet:GetCol() }

   omGet:OnKeyDown := { || oGet:PostMsg( WM_KEYDOWN ) }

   @11.5, 07 BUTTON oBtn1 PROMPT "Teste" SIZE 24,10 ;
      ACTION (PostMessage( oGet:hWnd, WM_CHAR, 52, 0 ),oGet:Refresh())

   @11.5, 15 BUTTON oBtn1 PROMPT "Back" SIZE 24,10 ;
      ACTION ( setFocus( omGet:hWnd ), omGet:keyDown( VK_BACK ) )  //oGet:KeyChar( VK_BACK ) )

   oDlg:bStart := {|| omGet:SetFocus( .T. ) }

   ACTIVATE DIALOG oDlg

return .t.
 


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7215
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Get Multiline y Get

Postby FranciscoA » Thu Oct 06, 2016 8:36 pm

Gracias Karinha.
Funcionó con KeyChar(VK_BACK), y SendMessage(oGet1:hWnd, WM_KEYDOWN, VK_DELETE) )
Ahora lo que me queda es emular las teclas LEFT y RIGHT cuando se mantienen oprimidas, para que avance automaticamente, sin necesidad de oprimir tantas veces el botón.
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2110
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Get Multiline y Get

Postby karinha » Fri Oct 07, 2016 1:13 pm

Algo asi?

Code: Select all  Expand view


oGet : bKeyDown := { | nKey | If( nKey == VK_DOWN, oBrw : GoDown(), ),;
If( nKey == VK_UP, oBrw:GoUp(), ),;
If( nKey == VK_DELETE, ( oGet : VarPut( 0 ), oGet : Refresh(), oDlg : End() ), ),;
If( nKey == VK_RETURN, oDlg : End(), ), 0 }
 
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7215
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Get Multiline y Get

Postby FranciscoA » Fri Oct 07, 2016 3:36 pm

Joao, gracias de nuevo.
Lo que quiero hacer es esto, en un boton de un dialog que tiene un GET MULTILINE.
viewtopic.php?f=6&t=31837&hilit=comandero&sid=563340977d9a51c9aa8bcbd79583790f#p185931

********** EDITADO **************

En resume, lo que quiero hacer es, desde un boton que se mantiene presionado, emular la accion como cuando mantienes presionada, constantemente, la tecla de flechita LEFT , sobre un GET MULTILINE.
saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2110
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 73 guests