Menu

#37 Object icons are rendered non-transparently

open
nobody
5
2013-01-15
2003-06-16
Alden Bates
No

The drive icons, desktop icons, etc, in the
StShellComboBox are all rendered non-transparently. On
a system where the window colour is non-white you will
see a white square around the icons.

Discussion

  • Alden Bates

    Alden Bates - 2003-06-16

    Logged In: YES
    user_id=802055

    Additional: This occured when I compiled the components and
    application using Builder 3 on an NT machine. The icons
    appeared transparent as they should be when I compiled
    using Builder 6 on a Win98 machine.

     
  • Alden Bates

    Alden Bates - 2003-06-16

    Logged In: YES
    user_id=802055

    Additional: This occured when I compiled the components and
    application using Builder 3 on an NT machine. The icons
    appeared transparent as they should be when I compiled
    using Builder 6 on a Win98 machine.

     
  • Alden Bates

    Alden Bates - 2003-06-17

    Logged In: YES
    user_id=802055

    This is an easy one-line fix:
    BM2.Transparent := True;

    This added before line 7795 in StShlCtl.pas fixes the problem.
    Only tested under the OS/Builder version which the problem
    occurred under.

     
  • Alden Bates

    Alden Bates - 2003-06-17

    Logged In: YES
    user_id=802055

    This is an easy one-line fix:
    BM2.Transparent := True;

    This added before line 7795 in StShlCtl.pas fixes the problem.
    Only tested under the OS/Builder version which the problem
    occurred under.

     
  • Alden Bates

    Alden Bates - 2003-06-18

    Logged In: YES
    user_id=802055

    My previous fix was not as clever as I thought, since it sets
    the transparent colour to the colour of the bottom/left pixel,
    which might be part of the icon. Setting the
    transparentmode to fixed and the transparent colour to white
    helps, but isn't ideal since parts of the icon might be white...

     
  • Alden Bates

    Alden Bates - 2003-06-19

    Logged In: YES
    user_id=802055

    Proper fix:
    before line 7790 (where the icon is drawn onto BM1's canvas,
    add the following two lines:
    BM1.Canvas.Brush.Color := clWindow;
    BM1.Canvas.FloodFill(1,1,clWindow,fsBorder);

     

Log in to post a comment.

MongoDB Logo MongoDB