Black Square around BTNBMPs

Black Square around BTNBMPs

Postby reinaldocrespo » Wed Mar 11, 2015 7:35 pm

Hi everyone;

In an effort not to stay too far behind today I'm testing with a newer fwh and noticed a black square around my btnbmps when the mouse hovers over it. That black square surrounding the button is not there with fwh 2012_04. Maybe I'm doing something wrong or maybe this is what everybody else likes. I don't like the black square. Is there a way to get rid of it?

Code: Select all  Expand view

...
   DEFINE DIALOG oDlg NAME "clm_tabs"    ;
              OF ::oOwner TRANSPARENT COLOR CLR_BLUE, RGB( 240, 240, 240 ) ;
        GRADIENT { { 1, nRGB( 217, 227, 234 ), nRGB( 237, 242, 248 ) } } ;
           TITLE cTitle
...
   REDEFINE BTNBMP aoBtns[ 1 ] ID 301 OF oDlg RESOURCE "Save32" TRANSPARENT NOBORDER TOOLTIP "Save claim information to disk."

 


Thank you,


Reinaldo.
User avatar
reinaldocrespo
 
Posts: 972
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Re: Black Square around BTNBMPs

Postby reinaldocrespo » Wed Mar 11, 2015 9:52 pm

Here is a self-contained reduced sample of the problem. All you have to do is hover over the btnbmp to see the [ugly] black square that gets drawn around the button:

Code: Select all  Expand view

#include "fivewin.ch"

FUNCTION START()
   LOCAL oDlg

   DEFINE DIALOG oDlg NAME "TestDlg"
   
   REDEFINE BTNBMP RESOURCE "Find16" ID 200 OF oDlg NOBORDER ;
            ACTION MsgInfo("btnbmp" ) TRANSPARENT ;
           TOOLTIP "Test BtnBmp"
   
   REDEFINE BUTTONBMP BITMAP "Close16"  ;
           TEXTRIGHT ;
                   ID 201     ;
                   OF oDlg    ;
               ACTION oDlg:End() ;
              TOOLTIP "Remove id image"

   ACTIVATE DIALOG oDlg
   
RETURN NIL
 


Now the .rc file

Code: Select all  Expand view

CLOSE16 BITMAP
MOVEABLE PURE LOADONCALL DISCARDABLE
LANGUAGE LANG_NEUTRAL, 0
BEGIN
'42 4D 9E 02 00 00 00 00 00 00 36 00 00 00 28 00 '
'00 00 0E 00 00 00 0E 00 00 00 01 00 18 00 00 00 '
'00 00 68 02 00 00 12 0B 00 00 12 0B 00 00 00 00 '
'00 00 00 00 00 00 FF FF FF FF FF FF FE FE FE F6 '
'F6 F7 FD FD FD FF FF FF FF FF FF FF FF FF FF FF '
'FF FD FD FD F5 F5 F6 FE FE FE FF FF FF FF FF FF '
'00 00 FF FF FF FD FD FE CF CF D5 5A 5A A8 D0 D0 '
'D4 FD FD FE FF FF FF FF FF FF FC FC FD C1 C1 CB '
'5F 5E A9 DE DE E4 FE FE FE FF FF FF 00 00 FE FE '
'FE CD CD D4 3E 3D C1 39 35 EE 51 4F C2 D2 D2 D8 '
'FD FD FE FC FC FD C0 C0 C9 4D 4A CE 3B 38 EE 4A '
'4A B6 DE DE E4 FE FE FE 00 00 FC FC FD 5B 5B AF '
'0E 0D EB 2A 28 F4 45 41 F2 50 4F BF D1 D1 D6 BF '
'BF CA 4D 4A CD 49 45 F4 2D 2A F5 13 12 E8 77 77 '
'B7 FE FE FE 00 00 FF FF FF E2 E2 EE 3C 3C C8 13 '
'13 EF 2A 27 F4 39 36 F1 46 46 C4 42 40 D0 3C 38 '
'F3 2B 29 F4 16 15 EE 4D 4D C5 ED ED F7 FF FF FF '
'00 00 FF FF FF FF FF FF E0 E0 ED 3C 3B CA 0E 0D '
'EF 18 16 F4 1E 1C F3 20 1E F3 18 17 F3 10 0F ED '
'4F 4F CB EC EC F7 FF FF FF FF FF FF 00 00 FF FF '
'FF FF FF FF FF FF FF DA DA E7 32 32 CA 02 03 F2 '
'04 03 F3 03 03 F2 04 04 F1 46 46 BC EB EB F5 FF '
'FF FF FF FF FF FF FF FF 00 00 FF FF FF FF FF FF '
'FC FC FD B8 B8 C4 27 27 D2 01 01 F2 01 01 F3 00 '
'00 F2 02 02 F1 38 38 C3 CF CF D5 FD FD FE FF FF '
'FF FF FF FF 00 00 FF FF FF FC FC FD BD BD C6 3B '
'3B CD 1E 1E F1 21 21 F5 23 23 F3 23 23 F3 21 21 '
'F4 22 22 F0 48 48 BF D2 D2 D8 FD FD FE FF FF FF '
'00 00 FE FE FE C3 C3 CD 53 53 CF 4B 4B F4 4B 4B '
'F6 4C 4C F3 5C 5C C9 55 55 CD 4B 4B F3 4B 4B F6 '
'4C 4C F2 57 57 C0 D6 D6 DB FD FD FE 00 00 FC FC '
'FD 75 75 B9 6F 6F F2 6D 6D F8 6E 6E F4 6A 6A C3 '
'EC EC F6 E2 E2 F1 66 66 CC 6E 6E F5 6C 6C F7 6F '
'6F F1 81 81 B3 FD FD FE 00 00 FF FF FF EE EE F4 '
'77 77 CA 8E 8E F5 77 77 C9 F0 F0 F7 FF FF FF FF '
'FF FF E4 E4 EE 75 75 CF 8E 8E F4 7B 7B C2 F5 F5 '
'FA FF FF FF 00 00 FF FF FF FF FF FF F0 F0 F6 91 '
'91 C9 F3 F3 F9 FF FF FF FF FF FF FF FF FF FF FF '
'FF E7 E7 EF 92 92 C6 F7 F7 FA FF FF FF FF FF FF '
'00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF '
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF '
'FF FF FF FF FF FF FF FF FF FF FF FF 00 00 '
END


FIND16 BITMAP
MOVEABLE PURE LOADONCALL DISCARDABLE
LANGUAGE LANG_NEUTRAL, 0
BEGIN
'42 4D 36 03 00 00 00 00 00 00 36 00 00 00 28 00 '
'00 00 10 00 00 00 10 00 00 00 01 00 18 00 00 00 '
'00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 '
'00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF '
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF '
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF '
'FF FF FF FF FF FF FF FF FF 91 91 91 88 88 88 8A '
'8A 8A 8A 8A 8A 85 85 85 AD AD AD FF FF FF FF FF '
'FF C8 C8 C8 83 83 83 8A 8A 8A 8A 8A 8A 89 89 89 '
'86 86 86 FC FC FC C0 B9 B8 DA 9F 95 FF DA D7 DD '
'BA B5 A4 79 71 7B 4B 40 61 33 2B FF FF FF FF FF '
'FF 97 64 5D EE BB B2 F3 D3 CF BB 94 8E 83 56 4B '
'7F 49 3F A7 A7 A7 E9 E4 E3 B6 83 7C DE BA B6 BE '
'9D 98 8D 66 5F 6A 3E 34 5F 33 2A FF FF FF FF FF '
'FF 98 66 5F CB 9C 95 D2 B3 AF A0 7D 77 71 47 3E '
'6D 3D 34 C8 C8 C8 FF FF FF B9 8C 84 EB D4 D2 D1 '
'B8 B3 9B 78 72 72 4C 41 64 3D 34 FF FF FF FF FF '
'FF AD 81 76 DA B4 AD E3 CE CC B2 93 8C 7C 57 4D '
'6C 40 38 EC EC EB FF FF FF D6 B4 AA FF FF FF FF '
'FC F5 BE A7 9F 8A 6D 61 74 54 4A FF FF FF FF FF '
'FF D4 AC A2 FF F2 E8 FF FF FF DD CB C4 97 7C 71 '
'77 56 4C FF FF FF FF FF FF A2 88 80 FF FF FF FE '
'F3 ED B9 A1 99 86 68 5C 76 54 4B FF FF FF FF FF '
'FF D0 A7 9D FD EA E1 FF FF FF D8 C4 BC 95 79 6E '
'62 43 39 FF FF FF FF FF FF A2 8D 88 FF FF FF FF '
'FC F6 BD A6 9E 87 69 5E 84 60 55 93 93 93 C2 C2 '
'C2 DC B1 A7 FF F2 E9 FF FF FF DE CB C3 9A 7E 72 '
'4C 34 2D FF FF FF FF FF FF CB BC B9 DD D3 D3 C4 '
'AF A9 94 74 6B 79 56 4B 75 52 48 3A 2D 28 7B 6C '
'69 A7 80 76 C4 A7 9E D4 C5 C4 BB A0 99 96 73 69 '
'7A 6C 6A FF FF FF FF FF FF FF FF FF 79 69 65 E5 '
'CC C3 DF D8 D6 91 81 7A 65 4C 41 32 20 1C 6D 5A '
'56 DF BD B1 E3 DF DB 93 81 79 5A 41 36 2E 1E 19 '
'FF FF FF FF FF FF FF FF FF FF FF FF 98 80 7B FF '
'FF FD FF FF FF C6 AF A5 8D 6E 60 36 23 1E 74 63 '
'5D FF F0 E4 FF FF FF D7 C1 B9 91 72 66 45 30 2B '
'FF FF FF FF FF FF FF FF FF FF FF FF C7 B4 B0 D2 '
'BC B4 C2 B1 AE 95 75 6C 7C 58 4D 39 26 23 53 3F '
'39 CD A9 A0 CC C0 BF B1 93 8D 85 63 58 60 4C 48 '
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF B2 '
'99 94 FF FF FF FF F6 F0 96 7A 6C 8E 7E 79 BF AE '
'AB FF FF FF FF FE F8 8F 73 65 81 6C 67 FF FF FF '
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF '
'FF FF 62 38 30 7A 68 64 3A 20 19 FF FF FF CE C0 '
'BD 77 5F 59 40 26 1D 9B 88 85 FF FF FF FF FF FF '
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF '
'FF FF D5 CA C7 83 6E 69 7D 65 5F FF FF FF F7 F6 '
'F5 93 7E 78 7B 61 5B FF FF FF FF FF FF FF FF FF '
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF '
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF '
'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF '
'FF FF FF FF FF FF '
END


TESTDLG DIALOG 6, 14, 163, 98
STYLE DS_SETFONT |DS_MODALFRAME |WS_OVERLAPPED |WS_VISIBLE |WS_SYSMENU |WS_CAPTION
CAPTION "Test Dlg"
FONT 8, "MS Sans Serif"
LANGUAGE LANG_NEUTRAL, 0
BEGIN
  CONTROL "",1001,"BUTTON",BS_GROUPBOX |WS_CHILD |WS_VISIBLE ,3,69,154,23
  CONTROL "    Close",201,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,104,75,50,14
  CONTROL "",200,"TBtnBmp",WS_CHILD |WS_VISIBLE ,15,11,14,14
END
 


Perhaps now you can all see what I mean?

Reinaldo.
User avatar
reinaldocrespo
 
Posts: 972
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Re: Black Square around BTNBMPs

Postby nageswaragunupudi » Thu Mar 12, 2015 5:22 am

Let us simplify the test program futher so that anyone can test it easily. Also let us choose a larger bitmap so that the rectangle is visible more clearly.

Code: Select all  Expand view

#include "fivewin.ch"

function Main()

   local oDlg, oBtn

   DEFINE DIALOG oDlg TITLE FWVERSION

   @ 10,10 BTNBMP oBtn FILE "\fwh\bitmaps\32x32\cascade.bmp" ;
      SIZE 30,30 PIXEL OF oDlg TRANSPARENT NOBORDER //2007

   @ 10,70 BUTTON "Close" SIZE 60,14 PIXEL OF oDlg ACTION oDlg:End()

   ACTIVATE DIALOG oDlg CENTERED

return nil
 

When the mose hovers over the btnbmp we see a rectagle around the border of the button. This change happend around 14.08 when the earlier unweildy paint method was reorganised.

Years back when the hover rectangle was introduced, it was implemented for 2007 buttons only and not for non-2007 style buttons. Now this feature works for both 2007 and non-2007 style btnbmps. Partculaly with noborder btnbmps this feature provides a visual indication of the hovered button.

I request testing this sample program. Retaining or removal of this feature would depend on general users' preference.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10248
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Black Square around BTNBMPs

Postby Enrico Maria Giordano » Thu Mar 12, 2015 10:52 am

Reinaldo,

reinaldocrespo wrote:Here is a self-contained reduced sample of the problem. All you have to do is hover over the btnbmp to see the [ugly] black square that gets drawn around the button:


I see no black square around the button.

EMG
User avatar
Enrico Maria Giordano
 
Posts: 8315
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Re: Black Square around BTNBMPs

Postby Enrico Maria Giordano » Thu Mar 12, 2015 10:53 am

Rao,

I only see a tiny gray border around the button.

EMG
User avatar
Enrico Maria Giordano
 
Posts: 8315
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Re: Black Square around BTNBMPs

Postby nageswaragunupudi » Thu Mar 12, 2015 11:07 am

Yes. I think that is what he is referring to.
You will see that more clearly in my example.
This appears when move hovers, highlighting the hovered button
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10248
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Black Square around BTNBMPs

Postby reinaldocrespo » Thu Mar 12, 2015 1:18 pm

I request testing this sample program. Retaining or removal of this feature would depend on general users' preference.


My friends; think about it... if it is coded as NOBORDER, then it shouldn't draw a border so it really isn't a matter of user preference. If the user prefers a border, then remove the NOBORDER clause. Don't you think?

BTW- what I see here is a black rectangle/square as you hover over the button.
User avatar
reinaldocrespo
 
Posts: 972
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Re: Black Square around BTNBMPs

Postby rhlawek » Sat Mar 14, 2015 5:52 am

There may be a better place to make this change but I get what I would call expected behavior by editing the Click() method of btnbmp.prg, adding a call to ::ResetBorder() at the end as follows:

Code: Select all  Expand view

   ::Super:Click()         // keep it here, the latest!
   ::lProcessing = .F.
endif
 


Code: Select all  Expand view

   ::Super:Click()         // keep it here, the latest!
   ::lProcessing = .F.
   ::ResetBorder()
endif
 


This is with 15.02, msvc

Robb
User avatar
rhlawek
 
Posts: 193
Joined: Sun Jul 22, 2012 7:01 pm


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Otto and 84 guests