有谁用过这个函数:ListView_CreateDragImage,知道它属于哪个DLL么?
[DllImport( "comctl32.dll ", CharSet = CharSet.Auto)]
public static extern IntPtr ListView_CreateDragImage(IntPtr hwnd, int iItem, int lpptUpLeft);
调用时,说找不到入口点,有人知道么?谢谢
------解决方案--------------------ListView_CreateDragImage是定义在commctrl.h中的一个宏,不过C#是不支持宏的。
它的原形是这样的:
#define ListView_CreateDragImage(hwnd, i, lpptUpLeft) \
(HIMAGELIST)SNDMSG((hwnd), LVM_CREATEDRAGIMAGE, (WPARAM)(int)(i), (LPARAM)(LPPOINT)(lpptUpLeft))
而SNDMSG实际上是SendMessage的宏定义,所以P/Invoke的时候应该定义SendMessage函数(user32.dll)。
LVM_CREATEDRAGIMAGE在头文件里有定义,但是使用了一个LVM_FIRST的东东,这个东东在哪我也没找到,baidu一下,发现:LVM_FIRST = &H1000……