2021-07-04 01:41:15 +00:00
|
|
|
|
//用在SETreeView 的拖放操作时
|
|
|
|
|
|
//http://www.codeproject.com/KB/tree/TreeViewDragDrop.aspx
|
|
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Sheng.Winform.Controls
|
|
|
|
|
|
{
|
2021-07-29 09:09:27 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
///
|
|
|
|
|
|
/// </summary>
|
2021-07-04 01:41:15 +00:00
|
|
|
|
public class DragHelper
|
|
|
|
|
|
{
|
2021-07-29 09:09:27 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
///
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <returns></returns>
|
2021-07-04 01:41:15 +00:00
|
|
|
|
[DllImport("comctl32.dll")]
|
|
|
|
|
|
public static extern bool InitCommonControls();
|
2021-07-29 09:09:27 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
///
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="himlTrack"></param>
|
|
|
|
|
|
/// <param name="iTrack"></param>
|
|
|
|
|
|
/// <param name="dxHotspot"></param>
|
|
|
|
|
|
/// <param name="dyHotspot"></param>
|
|
|
|
|
|
/// <returns></returns>
|
2021-07-04 01:41:15 +00:00
|
|
|
|
[DllImport("comctl32.dll", CharSet = CharSet.Auto)]
|
|
|
|
|
|
public static extern bool ImageList_BeginDrag(IntPtr himlTrack, int
|
|
|
|
|
|
iTrack, int dxHotspot, int dyHotspot);
|
2021-07-29 09:09:27 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
///
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="x"></param>
|
|
|
|
|
|
/// <param name="y"></param>
|
|
|
|
|
|
/// <returns></returns>
|
2021-07-04 01:41:15 +00:00
|
|
|
|
[DllImport("comctl32.dll", CharSet = CharSet.Auto)]
|
|
|
|
|
|
public static extern bool ImageList_DragMove(int x, int y);
|
2021-07-29 09:09:27 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
///
|
|
|
|
|
|
/// </summary>
|
2021-07-04 01:41:15 +00:00
|
|
|
|
[DllImport("comctl32.dll", CharSet = CharSet.Auto)]
|
|
|
|
|
|
public static extern void ImageList_EndDrag();
|
2021-07-29 09:09:27 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
///
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="hwndLock"></param>
|
|
|
|
|
|
/// <param name="x"></param>
|
|
|
|
|
|
/// <param name="y"></param>
|
|
|
|
|
|
/// <returns></returns>
|
2021-07-04 01:41:15 +00:00
|
|
|
|
[DllImport("comctl32.dll", CharSet = CharSet.Auto)]
|
|
|
|
|
|
public static extern bool ImageList_DragEnter(IntPtr hwndLock, int x, int y);
|
2021-07-29 09:09:27 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
///
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="hwndLock"></param>
|
|
|
|
|
|
/// <returns></returns>
|
2021-07-04 01:41:15 +00:00
|
|
|
|
[DllImport("comctl32.dll", CharSet = CharSet.Auto)]
|
|
|
|
|
|
public static extern bool ImageList_DragLeave(IntPtr hwndLock);
|
2021-07-29 09:09:27 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
///
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="fShow"></param>
|
|
|
|
|
|
/// <returns></returns>
|
2021-07-04 01:41:15 +00:00
|
|
|
|
[DllImport("comctl32.dll", CharSet = CharSet.Auto)]
|
|
|
|
|
|
public static extern bool ImageList_DragShowNolock(bool fShow);
|
|
|
|
|
|
|
|
|
|
|
|
static DragHelper()
|
|
|
|
|
|
{
|
|
|
|
|
|
InitCommonControls();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|