Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Hovering Control Template

0.00/5 (No votes)
26 Oct 2002 1  
A template class to add hovering support to any control.

Sample Image - trackcontrol.jpg

Introduction

This is a template class for creating hovering controls. It uses the _TrackMouseEvent method to recieve notifications regarding mouse events.

Using the code

To use it, you need to create a new class derived from the desired type (CButton, CEdit ...) and add the template code there. You also need to override 2 pure virtual functions: OnOverEnter() and OnHoverLeave(). Your class receives notifications via those functions. There is also a function called IsHover() which can return the hovering state.

In the demo project, I've created 2 simple classes: One derived from CButton and the other one derived from CEdit. They both react to mouse events.

#include "TrackControl.h"

class CHoverButton : public CTrackControl<CButton>
{
public:
    virtual void OnHoverEnter()
    {
        Invalidate();
    }
    virtual void OnHoverLeave()
    {
        Invalidate();
    }
}

History

  • 10/27/2002 - First release

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here