<!-- Download Links -->
Download demo project - 16 Kb
<!-- Article image -->

Introduction
Looking around for some nice bitmap hover buttons, I just couldn't find what I was looking for.
In this case there are a couple of things you can do:
- Leave it.
- Buy it.
- Steal it.
- Get it for free.
- Start crying
- Do it yourself (and possibly share it.)
I'll share!
I found another hoverbutton class that uses SetCapture() and ReleaseCapture().
Using this method gave me some problems. I can't remember why, but it
did to me. So I thought why do it so difficult? MS has a nice API to handle hover states:
_TrackMouseEvent().
So here it is... The class. After a long thought i decided to call it: CHoverButton.
I used some classes and information found elsewhere (thanks to the people for that).
How to use it?
- In you resource editor create a button and set the 'owner draw' property.
- Use classwizard to create a
CButton object in your dialog.
- Include the "hoverbutton.h" file in your dialog class file.
- Rename the
CButton object type to CHoverButton.
- Create a bitmap with three buttonstates: Up/Down/Hover. The pictures need
to be right next to each other.
The button will calculate it's own size = (the width of the bitmap)/3.
You can use true color bitmaps here. See below for an example image.
- In the
OnInitDialog() load the bitmap with mybutton.LoadBitmap(IDC_MYBUTTON);
- Set a tooltip with
mybutton.SetToolTipText();
- Compile and enjoy.
Have fun!