updated for version 7.4a.037
Problem:    Win32: When mouse is hidden and in the toolbar, moving it won't
            make it appear. (Sami Salonen)
Solution:   Add tabline_wndproc() and toolbar_wndproc(). (Ken Takata)
diff --git a/src/gui_w32.c b/src/gui_w32.c
index 4443d35..5ec1498 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -344,11 +344,13 @@
 static int	s_usenewlook;	    /* emulate W95/NT4 non-bold dialogs */
 #ifdef FEAT_TOOLBAR
 static void initialise_toolbar(void);
+static LRESULT CALLBACK toolbar_wndproc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
 static int get_toolbar_bitmap(vimmenu_T *menu);
 #endif
 
 #ifdef FEAT_GUI_TABLINE
 static void initialise_tabline(void);
+static LRESULT CALLBACK tabline_wndproc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
 #endif
 
 #ifdef FEAT_MBYTE_IME
@@ -4127,10 +4129,22 @@
 		    TOOLBAR_BUTTON_HEIGHT,
 		    sizeof(TBBUTTON)
 		    );
+    s_toolbar_wndproc = SubclassWindow(s_toolbarhwnd, toolbar_wndproc);
 
     gui_mch_show_toolbar(vim_strchr(p_go, GO_TOOLBAR) != NULL);
 }
 
+    static LRESULT CALLBACK
+toolbar_wndproc(
+    HWND hwnd,
+    UINT uMsg,
+    WPARAM wParam,
+    LPARAM lParam)
+{
+    HandleMouseHide(uMsg, lParam);
+    return CallWindowProc(s_toolbar_wndproc, hwnd, uMsg, wParam, lParam);
+}
+
     static int
 get_toolbar_bitmap(vimmenu_T *menu)
 {
@@ -4207,6 +4221,7 @@
 	    WS_CHILD|TCS_FOCUSNEVER|TCS_TOOLTIPS,
 	    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
 	    CW_USEDEFAULT, s_hwnd, NULL, s_hinst, NULL);
+    s_tabline_wndproc = SubclassWindow(s_tabhwnd, tabline_wndproc);
 
     gui.tabline_height = TABLINE_HEIGHT;
 
@@ -4214,6 +4229,17 @@
     set_tabline_font();
 # endif
 }
+
+    static LRESULT CALLBACK
+tabline_wndproc(
+    HWND hwnd,
+    UINT uMsg,
+    WPARAM wParam,
+    LPARAM lParam)
+{
+    HandleMouseHide(uMsg, lParam);
+    return CallWindowProc(s_tabline_wndproc, hwnd, uMsg, wParam, lParam);
+}
 #endif
 
 #if defined(FEAT_OLE) || defined(FEAT_EVAL) || defined(PROTO)