Page 1 of 1

New BtnBmp Vs Old Btnbmp

Posted: Sat Apr 16, 2022 10:03 am
by Silvio.Falconi
compiling an old program I realized that the btnbmp does not work as it was before on Win 10
when I want to see a popup menu when I press the button on the last btnbmp I have

Image

the command is

Code: Select all | Expand


@xRow,xCol BTNBMP  oOpe[4] Prompt "FI" size xWidth,xHeight PIXEL FLAT;
   OF oDlg  TOOLTIP "Figure" ACTION  MenuFigure(oBtnNum,oSay,oOpe,4)
 


or

Code: Select all | Expand

@xRow,xCol BTNBMP  oOpe[4] Prompt "FI" size xWidth,xHeight PIXEL FLAT;
   OF oDlg  TOOLTIP "Figure" ACTION  ::ShowPopUp( { |oBtn| MenuFigure(oBtn,oSay,oOpe,4) } )
 


the result is the same , I mean to show the arrow or not when I wish to show a popup menu

Image

in aesthetics it is bad to have that arrow and the text that moves, this could be fine in the tbar but not in a context like mine
in addition to the black arrow the white line cuts the button and this is not really nice to see

in the old (I could not determine which version - I dont remember )

Image


then I found a difference compiling the same test sample with a oldest btnbmp class ( allways on Win 10 )

Image

on my test I use the same lines

Code: Select all | Expand


  AEVAL(  oOpe, {| oBtn |oBtn:nWidth:= xWidth+7 } )
  AEVAL(  oOpe, {| oBtn |oBtn:SetColor( CLR_BLACK, rgb(211,211,211) )} )
  AEVAL(  oOpe, {| oBtn |oBtn:nLayOut:= 0 } )
  AEVAL(  oOpe, {| oBtn |oBtn:oCursor:= oHand } )
  AEVAL(  oOpe, {| oBtn |oBtn:lRound:= .F. } )

     oOpe[10]:SetColor( CLR_BLACK, rgb(145,255,172) )
     oOpe[11]:SetColor( CLR_BLACK, rgb(255,168,168) )
     oOpe[12]:SetColor( CLR_BLACK, rgb(165,165,165) )
 


Note btnbmp with "GE" is Different with btnbmp "CA" but is the same code ..that is, it is slightly narrower.....strange!!!

ok :) now Use the last release I have (July 2021 to November 2021)

Image

I add only a line on METHOD PaintPopupSection()

Code: Select all | Expand

if ::oPopup != nil  .and.  GetClassName( GetParent( Self:hWnd ) ) = "TBAR"


I don't understand why this command was canceled (.and. GetClassName( GetParent( Self:hWnd ) ) = "TBAR" )

Re: New BtnBmp Vs Old Btnbmp

Posted: Sat Apr 16, 2022 5:54 pm
by nageswaragunupudi
We did not make any changes to btnbmp class after 2006

Re: New BtnBmp Vs Old Btnbmp

Posted: Sun Apr 17, 2022 8:11 pm
by Silvio.Falconi
nageswaragunupudi wrote:We did not make any changes to btnbmp class after 2006


strange...ok!!