Simple Way to enable tooltip for Static controls
Have you tried to put tooltip for a static control? In MSDN, it’s specified that it’s not possible to add tooltip for static controls. Many people are written different methods to add tooltip. But those accustoming tooltip with the control itself and need more code and new classes. Anyway I only need a simple default tip for my static class.
Here the simplest way to enable the tooltip for a static control.
1. Add your CToolTipCtrl to your class.
2. In the OnInitDialog function of the dialog class (or in the initialization function of you window class) put the following code
EnableToolTips();
m_ToolTip.Create( this );
m_ToolTip.AddTool( &m_Static, “Your Tip Text” );
3. In the PreTranslateMessage function of your window class, add the following.
m_ToolTip.RelayEvent( pMsg );
4. Enable Notify style for static controls.
This is the most important step. You can use either of the following steps.
a. From the property window, enable “Notify” property.
b. If you have a custom static class the following code would help you to do so
void CStaticEx::PreSubclassWindow()
{
ModifyStyle( 0, SS_NOTIFY ); // Enable parent notifications
CStatic::PreSubclassWindow();
}
Here you are!!!

As default static controls will not be enabled for parent notifications. It’s just to avoid the unwanted message loops. Static controls are supposed to show some static text for information or direction . A Tool tip control needs mouse events like mouse move, click etc… for showing the tool tips. So if the notify style disabled the parent windows will not get mouse notifications. It will simple bounded in the static control itself. Enabling it will helps the parent window processing the mouse messages for the controls thus it can show the tool tip message.