FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Get Multiline y Get
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Get Multiline y Get
Posted: Wed Oct 05, 2016 05: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 (fw): Select all Collapse
       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
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Get Multiline y Get
Posted: Wed Oct 05, 2016 07:02 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Get Multiline y Get
Posted: Thu Oct 06, 2016 05: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 (fw): Select all Collapse
  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
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Get Multiline y Get
Posted: Thu Oct 06, 2016 06:06 PM
Sorry, no comprendo mui bién el que intentas hacer, mas intenta esto:

Code (fw): Select all Collapse
oDlg:bStart := { || oGet1:SetFocus(  .t.  )  }


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Get Multiline y Get
Posted: Thu Oct 06, 2016 07:05 PM
Mira se ayuda:

Code (fw): Select all Collapse
#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
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Get Multiline y Get
Posted: Thu Oct 06, 2016 08: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
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Get Multiline y Get
Posted: Fri Oct 07, 2016 01:13 PM
Algo asi?

Code (fw): Select all Collapse
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
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Get Multiline y Get
Posted: Fri Oct 07, 2016 03: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=6t=31837hilit=comanderosid=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

Continue the discussion