Listview: Implemented Get/SetToolTips functions (rewrite)

BiGgUn fbiggun at hotmail.com
Sat May 10 02:51:55 CDT 2003


Hi,

> > +static HWND LISTVIEW_SetToolTips( LISTVIEW_INFO *, HWND);
> 
> I don't think you need these here.

Dimitry, should i inline LISTVIEW_SetToolTips also ? In this patch, LISTVIEW_SetToolTips is not inlined.


> > +  /* init ToolTip */
> > +  infoPtr->hwndToolTip = NULL;
> 
> Is this needed? Isn't the info structure initialized to 0?
You are right , info structure is initialized in the COMCTL32_Alloc

 
Changelog :
     Listview: Implemented Get/SetToolTips functions

Index: dlls/comctl32/listview.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/listview.c,v
retrieving revision 1.348
diff -u -r1.348 listview.c
--- dlls/comctl32/listview.c 2 May 2003 20:14:33 -0000 1.348
+++ dlls/comctl32/listview.c 10 May 2003 07:41:59 -0000
@@ -270,6 +270,7 @@
   WNDPROC EditWndProc;
   INT nEditLabelItem;
   DWORD dwHoverTime;
+  HWND hwndToolTip;
 
   DWORD lastKeyPressTimestamp;
   WPARAM charCode;
@@ -391,6 +392,8 @@
 static INT LISTVIEW_GetTopIndex(LISTVIEW_INFO *);
 static BOOL LISTVIEW_EnsureVisible(LISTVIEW_INFO *, INT, BOOL);
 static HWND CreateEditLabelT(LISTVIEW_INFO *, LPCWSTR, DWORD, INT, INT, INT, INT, BOOL);
+static HWND LISTVIEW_SetToolTips( LISTVIEW_INFO *, HWND);
+
 
 /******** Text handling functions *************************************/
 
@@ -6982,7 +6992,24 @@
     return TRUE;
 }
 
-/* LISTVIEW_SetToolTips */
+/***
+ * DESCRIPTION:
+ * Determines which listview item is located at the specified position.
+ *
+ * PARAMETER(S):
+ * [I] infoPtr        : valid pointer to the listview structure
+ * [I] hwndNewToolTip : handle to new ToolTip
+ *
+ * RETURN:
+ *   old tool tip
+ */
+static HWND LISTVIEW_SetToolTips( LISTVIEW_INFO *infoPtr, HWND hwndNewToolTip)
+{
+ HWND hwndOldToolTip = infoPtr->hwndToolTip;
+    infoPtr->hwndToolTip = hwndNewToolTip;
+    return hwndOldToolTip;
+}
+
 /* LISTVIEW_SetUnicodeFormat */
 /* LISTVIEW_SetWorkAreas */
 
@@ -7214,7 +7241,7 @@
                     GetWindowLongW(infoPtr->hwndHeader, GWL_STYLE) | HDS_HIDDEN);
     }
   }
-
+ 
   return 0;
 
 fail:
@@ -8623,8 +8649,7 @@
   /* case LVM_GETTILEVIEWINFO: */
 
   case LVM_GETTOOLTIPS:
-    FIXME("LVM_GETTOOLTIPS: unimplemented\n");
-    return FALSE;
+    return (LRESULT)infoPtr->hwndToolTip;
 
   case LVM_GETTOPINDEX:
     return LISTVIEW_GetTopIndex(infoPtr);
@@ -8781,7 +8806,8 @@
 
   /* case LVM_SETTILEWIDTH: */
 
-  /* case LVM_SETTOOLTIPS: */
+  case LVM_SETTOOLTIPS:
+    return (LRESULT)LISTVIEW_SetToolTips(infoPtr, (HWND)lParam);
 
   /* case LVM_SETUNICODEFORMAT: */
 



More information about the wine-patches mailing list