Solved

Problem with ToolboxBitmap property when creating ActiveX control

Posted on 2001-09-11
11
180 Views
Last Modified: 2007-12-19
Hi,

I am trying to set the ToolboxBitmap property of my control to a bitmap I have made. As stated I have made the bitmap 16 x 15 pixels.

However the bitmap is always displayed incorrectly in the toolbox. For some reason all the black is being removed from the picture.

Why is this happening and how do I stop it?

Thanks

PyroMyst
0
Comment
Question by:pyromyst
11 Comments
 
LVL 3

Expert Comment

by:SirNick
Comment Utility
Is it a .ico or .bmp picture?
0
 
LVL 1

Author Comment

by:pyromyst
Comment Utility
It's a bitmap. I have also tried .jpg but I had the same result.
0
 
LVL 3

Expert Comment

by:SirNick
Comment Utility
If you double click the picture in the toolbox does it still bring up an instance of your control?
0
 
LVL 1

Author Comment

by:pyromyst
Comment Utility
Yes it does. I have actually compiled and tested it as a .ocx successfully.

I then tried to give it a custom toolbox bitmap but it only shows the remaining colours after removing all black pixels.
0
 
LVL 3

Expert Comment

by:SirNick
Comment Utility
I see you made a bitmap 16 x 15 pixels.  Have you tried making one 16 x 16, because I thought that whenever you use a bitmap for this purpose it is like using an icon file which are usually 16 x 16 or 32 x 32 or am I wrong.  It could be slightly distorted therefore removing the black.

Is the black areas around the edges or in the centre of the bitmap.
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 1

Author Comment

by:pyromyst
Comment Utility
I haven't tried 16 x 16 because the help in MSDN said that the bitmap should be 16 x 15 otherwise it would be scaled.

The black is as a border and in the center. All other colours appear undistorted.

It seems almost as if it is treating black as a mask because where the black should be it is transparent.
It should work because in the help they suggest using black, white and greys suggesting to me that black should appear normally.
0
 
LVL 7

Accepted Solution

by:
Vbmaster earned 10 total points
Comment Utility
The color of upper left corner will be the transparent color. And because your bitmap has a black border the upper left corn is black -> black is the transparent color -> all black pixels will be transparent.
0
 
LVL 1

Author Comment

by:pyromyst
Comment Utility
Are you sure about that?

I have just tried changing the upper left pixel to white, however white still appears and my black is still missing. Furthermore I can see the white pixel in the upper left corner.
0
 
LVL 1

Author Comment

by:pyromyst
Comment Utility
I carried on investigating and your idea is correct. However it is the lower left corner that determines the transparent colour, not the upper left.

Is there anyway around this? I don't like having a corner missing from my border.
0
 
LVL 2

Expert Comment

by:JanusFury
Comment Utility
nope, no way around it. I hate ToolboxBitmap.
0
 
LVL 1

Author Comment

by:pyromyst
Comment Utility
Thanks for your quick help Vbmaster, and thank you JanusFury for answering that last question of mine.
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Introduction I needed to skip over some file processing within a For...Next loop in some old production code and wished that VB (classic) had a statement that would drop down to the end of the current iteration, bypassing the statements that were c…
Introduction In a recent article (http://www.experts-exchange.com/A_7811-A-Better-Concatenate-Function.html) for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now