TooolbarButton transparency. A proposal of solution

Discussion in 'Code Samples & Tips' started by normatec, May 4, 2009.

  1. normatec

    normatec New Member Licensed User

    The proposal is to acquire at runtime from the registry the color of the toolbar and use it to replace the 0.0 pixel color of the bitmaps of an ImageList.
    I hope it is useful

    Sub Globals
    Dim Type (R,G,B) color
    Dim binary(0) As Byte

    Sub App_Start
    ' ...
    ' ...
    if cPPC = True Then
    ' acquire the color...
    reg.New1
    reg.RootKey(reg.rtLocalMachine)
    key = "System\GWE"
    binary() = reg.GetValue(key,"SysColor")
    RegOrder = 15 ' position of the BtnFaceColor (used by the toolbar)...
    color.R = binary((4 * RegOrder)+0)
    color.G = binary((4 * RegOrder)+1)
    color.B = binary((4 * RegOrder)+2)
    ' replace the color...
    For i = 0 To ImageList1.Count - 1
    bitmap1.New3 (ImageList1.Item(i))
    color0_0 = bitmap1.GetPixel1 (0, 0)
    For x = 0 To bitmap1.Width -1
    For y = 0 To bitmap1.Height -1
    If bitmap1.GetPixel1 (x, y) = Color0_0 Then
    bitmap1.SetPixel(x, y, Rgb (color.R,color.G,color.B))
    End If
    Next
    Next
    ImageList1.Item(i) = bitmap1.Value
    Next
    End If
    ' now we create the toolbarbuttons...
    bar.New1("FormXXXX")
    btn1.New1
    bar.AddToolBarButton(btn1.Value)
    btn1.Style = btn1.stToggleButton
    bar.AddImage2(ImageList1.Item(0))
    '...
     
  2. Byak@

    Byak@ Active Member Licensed User

    normatec nice method!
    but it doesn't work with WisBar... may be in future Erel do real transparent...i'm see it in c#
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice