FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour SetBtnGet en xBrowse
Posts: 1713
Joined: Tue Oct 28, 2008 06:26 PM

SetBtnGet en xBrowse

Posted: Thu Nov 05, 2015 06:42 PM

Amigos

El SetBrnGet es de TSBrowse, como es en xBrowse?

Que sirve para poder pulsar una tecla asignada para realizar una acción cuando estamos usando bEditBlock, además permite colocar una imagen

Gracias por la ayuda.

Saludos,

Adhemar

Saludos,



Adhemar Cuéllar

Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: SetBtnGet en xBrowse

Posted: Thu Nov 05, 2015 07:18 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1713
Joined: Tue Oct 28, 2008 06:26 PM

Re: SetBtnGet en xBrowse

Posted: Thu Nov 05, 2015 07:52 PM

Gracias João

Revisé todos los parámetros y parece que no tiene uno que cumpla esa función.

Esperemos que dice el master RAO

Saludos,

Adhemar

Saludos,



Adhemar Cuéllar

Posts: 44508
Joined: Thu Oct 06, 2005 05:47 PM

Re: SetBtnGet en xBrowse

Posted: Thu Nov 05, 2015 08:10 PM

Adhemar,

Lo que necesitas es asignarle una imagen al botón ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1713
Joined: Tue Oct 28, 2008 06:26 PM

Re: SetBtnGet en xBrowse

Posted: Fri Nov 06, 2015 01:03 AM

Antonio

Lo que necesito es que el cuadro que muestra el bEditBlock poner una imagen con F2 y al pulsar F2 me ejecute un función que muestre otro browse donde pueda elegir un registro.

Gracias,

Saludos,

Adhemar

Saludos,



Adhemar Cuéllar

Posts: 1713
Joined: Tue Oct 28, 2008 06:26 PM

Re: SetBtnGet en xBrowse

Posted: Fri Nov 06, 2015 01:09 AM

A propósito del TSBrowse alguien sabe del maestro Manuel Mercado de México. Todo un master.

Saludos,

Adhemar

Saludos,



Adhemar Cuéllar

Posts: 1713
Joined: Tue Oct 28, 2008 06:26 PM

Re: SetBtnGet en xBrowse

Posted: Fri Nov 06, 2015 03:27 PM
He encontrado éste ejemplo:
Quiero que al pulsar F2 ó click en el cuadrito muestre el otro browse para elegir el Item.

Code (fw): Select all Collapse
#include "fivewin.ch"

REQUEST DBFCDX

function Main()
   local oWnd, oBar, oFont
   Private lPued:=.T.
   
   RDDSetDefault( "DBFCDX" )
   SET DELETED ON

   if ! File( 'TestTrn.Dbf' )
      CreateTestDbf()
   endif

   DEFINE FONT oFont NAME 'TAHOMA' SIZE 0,-12
   DEFINE WINDOW oWnd MDI
   oWnd:SetFont( oFont )

   DEFINE BUTTONBAR oBar OF oWnd SIZE 100,32 2007
   SET MESSAGE OF oWnd TO '' 2007

   DEFINE BUTTON OF oBar PROMPT "XBrowse" ACTION XbrAppend( This )
   DEFINE BUTTON OF oBar PROMPT "Quit" ACTION oWnd:End()

   ACTIVATE WINDOW oWnd
   RELEASE FONT oFont

return 0

static function XbrAppend( oBtn )

   local oWnd, oBrw

   oBtn:Disable()

   USE TESTTRN NEW ALIAS TRN EXCLUSIVE

   DEFINE WINDOW oWnd MDICHILD OF WndMain()

   @ 0,0 XBROWSE oBrw OF oWnd ;
      COLUMNS 'Code', 'Item', 'Rate', 'Quantity' ;
      ALIAS 'TRN' CELL LINES FASTEDIT

   oBrw:Amount    := { || oBrw:Rate:Value * oBrw:Quantity:Value }

   WITH OBJECT oBrw
      :Cargo            := 0 
      WITH OBJECT :Code
         :nEditType     := 5 //EDIT_BUTTON
         :bEditBlock    := { || SelectItem( oBrw ) }
      END

      :Quantity:nEditType  := EDIT_GET
      :bPastEof         := { || (oBrw:cAlias)->( AppendRec( oBrw ) ) }
      :bChange          := { || (oBrw:cAlias)->( CheckAppend( oBrw ) ) }
   END

   oBrw:CreateFromCode()
   oWnd:oClient   := oBrw

   oWnd:bPostEnd := { || TRN->( DbCloseArea() ), oBtn:Enable() }

   ACTIVATE WINDOW oWnd ON INIT oBrw:SetFocus() ;
      VALID CheckAppend( oBrw, .t. )

return nil

static function AppendRec( oBrw )

   if oBrw:Cargo == 0  // not in append mode
      APPEND BLANK
      GO BOTTOM
      oBrw:Cargo  := RecNo()
      oBrw:Refresh()
      oBrw:GoLeftMost()
      oBrw:Code:Edit()
   endif

return nil

static function CheckAppend( oBrw, lExit )

   local nRecNo   := RecNo()

   DEFAULT lExit  := .f.

   if oBrw:Cargo > 0 .and. ( lExit .or. oBrw:Cargo != nRecNo )
      GOTO oBrw:Cargo
      DELETE
      oBrw:Cargo  := 0
      if ! lExit
         GOTO nRecNo
         oBrw:Refresh()
      endif
   endif
   if lExit
      PACK
   endif

return .t.

static function SelectItem( oBrw1 )

   local aItems := { { 1, "Item.1", 20 }, { 2, "Item.2", 30 }, { 3, "Item.3", 40 } }
   local nRet     := oBrw1:Code:Value

   XBROWSER aItems ;
      SETUP ( oBrw:cHeaders := { "Code", "Item", "Rate" } ) ;
      SELECT ( nRet := oBrw:aRow[ 1 ], ;
               oBrw1:Item:Value := oBrw:aRow[ 2 ], ;
               oBrw1:Rate:Value := oBrw:aRow[ 3 ], ;
               oBrw1:Cargo  := 0, ;
               oBrw1:nColSel := 4, ;
               oBrw1:Refresh() )

return nRet

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

static function CreateTestDbf()

   local aCols    := { ;
      { "CODE",      "N",  4, 0  }, ;
      { "ITEM",      "C", 20, 0  }, ;
      { "RATE",      "N",  6, 2  }, ;
      { "QUANTITY",  "N",  4, 0  }  }

   DBCREATE( "TESTTRN", aCols )

   USE TESTTRN EXCLUSIVE
   APPEND BLANK
   FIELD->CODE       := 1
   FIELD->ITEM       := "Item.1"
   FIELD->RATE       := 20
   FIELD->QUANTITY   := 3
   CLOSE TESTTRN

return nil


Gracias por la ayuda.

Saludos,

Adhemar

Saludos,



Adhemar Cuéllar

Posts: 44508
Joined: Thu Oct 06, 2005 05:47 PM

Re: SetBtnGet en xBrowse

Posted: Fri Nov 06, 2015 05:11 PM

Adhemar,

El ejemplo que has publicado ya lo hace. Que le falta a ese ejemplo ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1713
Joined: Tue Oct 28, 2008 06:26 PM

Re: SetBtnGet en xBrowse

Posted: Fri Nov 06, 2015 05:24 PM
Antonio

El ejemplo sólo funciona dando click en el cuadrito.
Quiero que me permita pulsar F2 y en lo posible poner una imagen.



Saludos,

Adhemar

Saludos,



Adhemar Cuéllar

Posts: 44508
Joined: Thu Oct 06, 2005 05:47 PM

Re: SetBtnGet en xBrowse

Posted: Fri Nov 06, 2015 06:40 PM
Adhemar,

Prueba a añadir esta línea:

oBrw:bKeyDown = { | nKey | If( oBrw:nColSel == 1 .and. nKey == VK_F2, oBrw:SelectedCol():RunBtnAction(), ) }

aquí:

Code (fw): Select all Collapse
static function XbrAppend( oBtn )

   local oWnd, oBrw

   oBtn:Disable()

   USE TESTTRN NEW ALIAS TRN EXCLUSIVE

   DEFINE WINDOW oWnd MDICHILD OF WndMain()

   @ 0,0 XBROWSE oBrw OF oWnd ;
      COLUMNS 'Code', 'Item', 'Rate', 'Quantity' ;
      ALIAS 'TRN' CELL LINES FASTEDIT

   oBrw:Amount    := { || oBrw:Rate:Value * oBrw:Quantity:Value }

   WITH OBJECT oBrw
      :Cargo            := 0 
      WITH OBJECT :Code
         :nEditType     := 5 //EDIT_BUTTON
         :bEditBlock    := { || SelectItem( oBrw ) }
      END

      :Quantity:nEditType  := EDIT_GET
      :bPastEof         := { || (oBrw:cAlias)->( AppendRec( oBrw ) ) }
      :bChange          := { || (oBrw:cAlias)->( CheckAppend( oBrw ) ) }
   END

   oBrw:bKeyDown = { | nKey | If( oBrw:nColSel == 1 .and. nKey == VK_F2, oBrw:SelectedCol():RunBtnAction(), ) }

   oBrw:CreateFromCode()
   oWnd:oClient   := oBrw

   oWnd:bPostEnd := { || TRN->( DbCloseArea() ), oBtn:Enable() }

   ACTIVATE WINDOW oWnd ON INIT oBrw:SetFocus() ;
      VALID CheckAppend( oBrw, .t. )

return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1713
Joined: Tue Oct 28, 2008 06:26 PM

Re: SetBtnGet en xBrowse

Posted: Fri Nov 06, 2015 07:07 PM

Perfecto.

Gracias Antonio

Si es posible faltaría poder colocar una imagen.

Saludos,

Adhemar

Saludos,



Adhemar Cuéllar

Posts: 1289
Joined: Mon Feb 25, 2008 02:54 PM

Re: SetBtnGet en xBrowse

Posted: Fri Nov 06, 2015 07:53 PM

oBrw:aCols[1]:AddResource('LUPA')
oBrw:aCols[1]:nBtnBmp := 1
oBrw:aCols[1]:lBtnTransparent:= .f.

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 1713
Joined: Tue Oct 28, 2008 06:26 PM

Re: SetBtnGet en xBrowse

Posted: Fri Nov 06, 2015 08:30 PM

Gracias SGS

Funciona.

Saludos,

Adhemar

Saludos,



Adhemar Cuéllar

Continue the discussion