FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour SetBtnGet en xBrowse
Posts: 1710
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 C.
Posts: 8523
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: 1710
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 C.
Posts: 44162
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: 1710
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 C.
Posts: 1710
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 C.
Posts: 1710
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 C.
Posts: 44162
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: 1710
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 C.
Posts: 44162
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: 1710
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 C.
Posts: 1286
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: 1710
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 C.

Continue the discussion