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

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

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 )

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

on my test I use the same lines
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)

I add only a line on METHOD PaintPopupSection()
I don't understand why this command was canceled (.and. GetClassName( GetParent( Self:hWnd ) ) = "TBAR" )
when I want to see a popup menu when I press the button on the last btnbmp I have

the command is
@xRow,xCol BTNBMP oOpe[4] Prompt "FI" size xWidth,xHeight PIXEL FLAT;
OF oDlg TOOLTIP "Figure" ACTION MenuFigure(oBtnNum,oSay,oOpe,4)or
@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

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 )

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

on my test I use the same lines
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

I add only a line on METHOD PaintPopupSection()
if ::oPopup != nil .and. GetClassName( GetParent( Self:hWnd ) ) = "TBAR"I don't understand why this command was canceled (.and. GetClassName( GetParent( Self:hWnd ) ) = "TBAR" )
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
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