FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour lose focus on buttonbar
Posts: 7318
Joined: Thu Oct 18, 2012 07:17 PM
Re: lose focus on buttonbar
Posted: Fri Apr 28, 2023 10:50 AM
karinha wrote:Buen d铆a. Maestro Ant么nio, en este ejemplo de Maestro Navarro, p铆dale que despu茅s de cambiar el bot贸n, pase el mouse sobre los botones de la barra. En este ejemplo del maestro navarro, 驴c贸mo solucionarlo?

Gracias.

Regards, saludos.

the navarro sample run ok !!
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: lose focus on buttonbar
Posted: Fri Apr 28, 2023 10:59 AM

Silvio, I asked Master Navarro. Here it didn't work well.

Silvio, le pregunt茅 al maestro Navarro. Aqu铆 no funcion贸 bien.

Necesito saber si hay un BUG(ERROR) en mi versi贸n de FWH.

Gracias.

Thanks.

Regards, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 7318
Joined: Thu Oct 18, 2012 07:17 PM
Re: lose focus on buttonbar
Posted: Fri Apr 28, 2023 01:42 PM
here is the complete example, the problem is that when I click on a row there is a flicker that denotes that there is something wrong

to select a row I use a popup menu

@ 85, 10 BTNBMP aBtnBrow ;
FLAT SIZE 80, 20 OF oDlg PIXEL ;
PROMPT "Select menu" ;
NOROUND ;
ACTION ::ShowPopUp( { |oBtn| MenuContextual(oBtn,oBrw,oDbf,oDlg) } )

When I click on xbrowse not run ok

Code (fw): Select all Collapse
#include 'fivewin.ch'
#include 'xbrowse.ch'
#include "constant.ch"
#include "report.ch"


Function test()
聽 聽local oDlg,oDbf,oFont
聽 聽local oBar,aBtnBar:=array(8)
聽 聽local aBtnBrow
聽 聽local 聽nBottom 聽 := 27.2
聽 聽local 聽nRight 聽 聽:= 89
聽 聽local 聽nWd 聽 聽 聽 := Max( nRight * DLG_CHARPIX_W, 180 )
聽 聽local 聽nHt 聽 聽 聽 := nBottom * DLG_CHARPIX_H



聽 聽 聽 聽oDbf :=TDatabase():Open( , "Customer", "DBFCDX", .T. )
聽 聽 聽 聽oDbf:setorder(1)
聽 聽 聽 聽oDbf:Gotop()


聽DEFINE DIALOG oDlg SIZE nWd, nHt PIXEL TRUEPIXEL;
聽 聽 聽 聽 聽TiTle "test"

聽@ 110,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
聽 聽 聽 聽 聽 DATASOURCE oDbf AUTOCOLS 聽;
聽 聽 聽 聽 聽 AUTOSORT FONT oFont;
聽 聽 聽 聽 聽 NOBORDER CELL LINES

聽 聽 聽WITH OBJECT oBrw
聽 聽 聽 聽 聽 聽 :nRowHeight 聽 聽 聽 聽 聽:= 25
聽 聽 聽 聽 聽 聽 :l2007 聽 聽 聽 聽 聽 聽 聽 := .F.
聽 聽 聽 聽 聽 聽 :l2015 聽 聽 聽 聽 聽 聽 聽 := .T.
聽 聽 聽 聽 聽 聽 :lRecordSelector 聽 聽 := .F.
聽 聽 聽 聽 聽 聽 :nColDividerStyle 聽 聽:= LINESTYLE_LIGHTGRAY
聽 聽 聽 聽 聽 聽 :nRowDividerStyle 聽 聽:= LINESTYLE_LIGHTGRAY
聽 聽 聽 聽 聽 聽 :nStretchCol 聽 聽 聽 聽 := STRETCHCOL_WIDEST
聽 聽 聽 聽 聽 聽 :nMarqueeStyle 聽 聽 聽 聽:= MARQSTYLE_HIGHLROW
聽 聽 聽 聽 聽 聽 :lAllowRowSizing 聽 聽 := .F.
聽 聽 聽 聽 聽 聽 :lAllowColSwapping 聽 := .F.
聽 聽 聽 聽 聽 聽 :lAllowColHiding 聽 聽 := .F.
聽 聽 聽 聽 聽 聽 :lAllowSizings 聽 聽 聽 := .F.
聽 聽 聽 聽 聽 聽 聽:lDrawBorder := .t.
聽 聽 聽 聽 聽 聽 聽:nClrBorder := Rgb(195,195,185)
聽 聽 聽 聽 聽 聽 :bClrStd := { || { CLR_BLACK, If( oBrw:KeyNo % 2 == 0, CLR_WHITE,RGB(243,243,238)) } }
聽 聽 聽 聽 聽END

聽 聽 聽 WITH OBJECT oBrw

聽 聽 聽 聽 聽 聽:bLClicked := { || 聽;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽If( oBrw:IsSelectedRow(), ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Btnbar(1,oDlg:oBar,oDlg,oDbf,oBrw), ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Btnbar(2,oDlg:oBar,oDlg,oDbf,oBrw)) }

聽 聽 聽 聽 聽 聽 :SetMultiSelectCol()
聽 聽 聽 聽 聽 聽 :CreateFromCode()
聽 聽 聽 聽 聽 END


聽 聽 @ 85, 10 BTNBMP aBtnBrow ;
聽 聽 聽 聽 聽 聽 聽 聽 FLAT 聽SIZE 80, 20 聽OF oDlg 聽 PIXEL ;
聽 聽 聽 聽 聽 聽 聽 聽 PROMPT "Select menu" 聽;
聽 聽 聽 聽 聽 聽 聽 聽 聽NOROUND 聽;
聽 聽 聽 聽 聽 聽 聽 聽 ACTION ::ShowPopUp( { |oBtn| MenuContextual(oBtn,oBrw,oDbf,oDlg) 聽} )


聽 聽 聽 聽 聽 ACTIVATE DIALOG oDlg 聽CENTER 聽 ;
聽 聽 聽 聽 聽 ON INIT ( 聽Btnbar(0,oBar,oDlg,oDbf,oBrw),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Btnbar(1,oDlg:oBar,oDlg,oDbf,oBrw),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽ChangeButtons( oDlg:oBar ) )
RETURN NIL


//---------------------------------------------------------------------------------//
Function Btnbar(nBar,oBar,oDlg,oDbf,oBrw) 聽// ,aBtnBar
聽 聽local aBtnBar
聽 聽local x

聽 聽if Valtype( oBar ) = "O"
聽 聽 聽 For x := Len( oBar:aControls ) to 1 step - 1
聽 聽 聽 聽 聽oBar:Del( x )
聽 聽 聽 Next x
聽 聽endif

聽 Do case
聽 case nbar = 0
聽 聽 聽DEFINE BUTTONBAR oBar OF oDlg 聽SIZE 80,70 聽TOP NOBORDER 聽2015
聽 case nbar = 1
聽 聽aBtnBar := array(6)
聽 聽DEFINE BUTTON aBtnBar[1] OF oBar PROMPT "New" 聽 聽 聽ACTION NIL
聽 聽DEFINE BUTTON aBtnBar[2] OF oBar PROMPT "Modify" 聽 聽ACTION NIL
聽 聽DEFINE BUTTON aBtnBar[3] OF oBar PROMPT "Duplicate" 聽 ACTION NIL
聽 聽DEFINE BUTTON aBtnBar[4] OF oBar PROMPT "Del" 聽 聽ACTION NIL
聽 聽DEFINE BUTTON aBtnBar[5] OF oBar PROMPT "Print" 聽 聽action oBrw:Report( )
聽 聽DEFINE BUTTON aBtnBar[6] OF oBar PROMPT "HElp" 聽 聽ACTION NIL 聽 聽BTNRIGHT

聽 case nbar = 2
聽 聽aBtnBar := array(3)
聽 聽DEFINE BUTTON aBtnBar[1] OF oBar PROMPT "Del" 聽 聽ACTION NIL
聽 聽DEFINE BUTTON aBtnBar[2] OF oBar PROMPT "Print" 聽 聽 action oBrw:Report( )
聽 聽DEFINE BUTTON aBtnBar[3] OF oBar PROMPT "Help" 聽 聽 ACTION NIL 聽BTNRIGHT
聽 endcase
return oBar
//-------------------------------------------------------------------------------//
聽function ChangeButtons( oBar )
聽 聽 聽 聽AEval( oBar:aControls, { | oCtrl | oCtrl:nTop += 4, oCtrl:nHeight -= 4 } )
聽 聽 return .T.
//-------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------//
Function MenuContextual(oControl,oBrw,oDbf,oParent)
聽 聽local oMenu
聽MENU oMenu POPUP
聽 聽 聽 聽 聽 聽if oBrw:IsSelectedRow()
聽 聽 聽 聽 聽 聽 聽 MENUITEM "Deselect row" action (oBrw:SelectRow( 0 ) , Btnbar(1,oParent:oBar,oParent,oDbf,oBrw))
聽 聽 聽 聽 聽 聽 聽 聽 else
聽 聽 聽 聽 聽 聽 聽 MENUITEM "Select row" 聽 action (oBrw:SelectRow( 2 ), Btnbar(2,oParent:oBar,oParent,oDbf,oBrw) )

聽 聽 聽 聽 endif
聽 聽 聽 聽SEPARATOR
聽 聽 聽 聽 聽 聽 聽 MENUITEM "Print" 聽 action oBrw:Report( )
聽 聽 聽ENDMENU
聽 聽return oMenu

//-------------------------------------------------------------------------------//
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com

Continue the discussion