+ Reply to Thread
Results 1 to 4 of 4

Thread: transparent button on custom commandbar

  1. #1
    ckoch
    Guest

    transparent button on custom commandbar

    I'm trying to create a toolbar and having the same trouble everyone
    does with the button faces. This MS help topic is great:
    http://support.microsoft.com/?id=288771
    HOWTO: Create a Transparent Picture For Office CommandBar Buttons

    It works when you load a picture from a bmp file.:
    Set oPic = LoadPicture("c:\testbmp.bmp")

    I also tried it by using a bmp loaded into a picturebox.
    Set oPic = Picture1.image

    But it doesn't work and doesn't give me a transparent button. Any idea
    why?


  2. #2
    keepITcool
    Guest

    Re: transparent button on custom commandbar


    The reason:
    An excel.Picture object is not the same as a stdole.StdPicture


    either:

    for xl97 (non transparent)
    With ctl
    Sheet1.Shapes("Icon1").CopyPicture xlScreen, xlBitmap
    .PasteFace
    End With

    for xl2k+

    i use an imagelist control on an (empty) userform
    to store the 256color bitmaps: the colored picture and the monochrome
    mask. The Picture property from an imagelist can be used for icons.


    code below is from an addin which needs to be xl97 compatible.

    #If VBA6 Then
    With ctlWizard
    cbr.Protection = msoBarNoProtection
    CallByName ctl, "picture", VbLet, _
    frmIcons.iml.ListImages("pict").Picture
    CallByName ctl, "mask", VbLet, _
    frmIcons.iml.ListImages("mask").Picture
    End With
    Unload frmAbout
    #End If


    --
    keepITcool
    | www.XLsupport.com | keepITcool chello nl | amsterdam


    ckoch wrote :

    > I'm trying to create a toolbar and having the same trouble everyone
    > does with the button faces. This MS help topic is great:
    > http://support.microsoft.com/?id=288771
    > HOWTO: Create a Transparent Picture For Office CommandBar Buttons
    >
    > It works when you load a picture from a bmp file.:
    > Set oPic = LoadPicture("c:\testbmp.bmp")
    >
    > I also tried it by using a bmp loaded into a picturebox.
    > Set oPic = Picture1.image
    >
    > But it doesn't work and doesn't give me a transparent button. Any idea
    > why?


  3. #3
    ckoch
    Guest

    Re: transparent button on custom commandbar

    Worked perfect with the imagelist. Thanks so much.


  4. #4
    keepITcool
    Guest

    Re: transparent button on custom commandbar



    Be aware though Pciture/Mask exist only from
    OfficeXP/2003 (doesnot exist for Office 2000/Office97

    Sub IconSnippet()
    Dim ctl As Office.CommandBarButton
    Select Case Val(Application.Version)
    Case Is < 10
    With ctl
    Sheet1.Shapes("Icon1").CopyPicture xlScreen, xlBitmap
    .PasteFace
    End With
    Case 10-11
    #If VBA6 Then
    CallByName ctl, "picture", VbLet, _
    frmIcons.iml.ListImages("Pict1").Picture
    CallByName ctl, "mask", VbLet, _
    frmIcons.iml.ListImages("Mask1").Picture
    End With
    Unload frmIcons
    #End If
    End If



    --
    keepITcool
    | www.XLsupport.com | keepITcool chello nl | amsterdam


    ckoch wrote :

    > Worked perfect with the imagelist. Thanks so much.


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.2.0