Re: Creating Custom Face IDs for Add-In Buttons
- From: "Peter T" <peter_t@discussions>
- Date: Wed, 25 May 2005 10:58:37 +0100
Hi keepITcool,
That's new to me - cool!
What I've done when making icons is to save the icon image with the mask
colour already set. Several image editors provide this option, though I
guess it only works with images of 256 colours or less.
Insert into a *** and copy just the one image to a button. In other words
no need for a separate mask image and the final icon should look same in all
versions, I think (?) Requires simply (from your routine) for all versions:
shpIcon.CopyPicture xlScreen, xlPicture
oBtn.PasteFace
Regards,
Peter T
"keepITcool" > wrote in message
>
>
> if you want to create your own icons:
>
> get an icon editor:
> I like ArtIcons Pro.
>
> Since toolbars use 16x16px 24mill color, no need for fancy editors like
> AWicons, since you cannot use 32bit transparency on toolbar buttons.
>
> Then you export 2 bitmaps: "Picture", and the "Mask"
> (the mask is a B&W bitmap used to set the transparent areas)
>
>
> Insert the icons as pictures in a ***
> (OR use an ImageList ActiveX control...)
>
> Use picture toolbar to set the transparent color
> on the colored "Pict" (needed for earlier versions than xlXP)
>
> From Office XP and newer commandbar buttons have an exposed
> Picture and Mask property, so the buttons can be "ultra sharp".
>
>
> I use following routine which works in all versions.
> and which I call from my MakeMenu procedure.
>
> ByVal arguments were used so you have a bit more flexibility in
> the datatype of your object variables in the calling procedure.
>
> For StdOle.StdPicture you need a reference to Ole Automation
> (but that should be activated anyway)
>
>
> Sub SetIcon(ByVal oBtn As Office.CommandBarButton, _
> ByVal shpIcon As Excel.Shape, _
> ByVal shpMask As Excel.Shape)
>
> Dim oMask As stdole.StdPicture
> On Error GoTo endH:
>
> If Val(Application.Version) < 10 Then
> 'Run for xl97/xl2k
> shpIcon.CopyPicture xlScreen, xlPicture
> oBtn.PasteFace
> Else
> #If VBA6 Then
> 'Compile for xl2K+
> 'Run for xlXP+
> 'Avoid compile error in xl2k by using callbyname
> shpMask.CopyPicture xlScreen, xlBitmap
> oBtn.PasteFace
>
> Set oMask = CallByName(oBtn, "Picture", VbGet)
> shpIcon.CopyPicture xlScreen, xlBitmap
> oBtn.PasteFace
> CallByName oBtn, "Mask", VbLet, oMask
> #End If
> End If
>
> endH:
> 'Clear clipboard by copying an empty cell
> Range("iv65536").Copy
> Application.CutCopyMode = False
>
> End Sub
>
>
> hth
>
>
> --
> keepITcool
> | www.XLsupport.com | keepITcool chello nl | amsterdam
>
>
> Mark Dev wrote :
>
> > All,
> >
> > Can anyone give me some advice on the best method for creating custom
> > icons to use on my Add-In toolbar buttons? What's the process? What
> > tools are required?
> >
> > Thanks
.
- Follow-Ups:
- Re: Creating Custom Face IDs for Add-In Buttons
- From: Mark Dev
- Re: Creating Custom Face IDs for Add-In Buttons
- From: keepITcool
- Re: Creating Custom Face IDs for Add-In Buttons
- References:
- Creating Custom Face IDs for Add-In Buttons
- From: Mark Dev
- Re: Creating Custom Face IDs for Add-In Buttons
- From: keepITcool
- Creating Custom Face IDs for Add-In Buttons
- Prev by Date: Re: Chart to work*** programmatically -- coordinates?
- Next by Date: adding values in column D where cell in column A contains certain
- Previous by thread: Re: Creating Custom Face IDs for Add-In Buttons
- Next by thread: Re: Creating Custom Face IDs for Add-In Buttons
- Index(es):