Files
2022-01-06 09:08:16 +08:00

31 lines
862 B
C#

using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace PDFPatcher.Functions
{
public class DraggableForm : Form
{
protected override void OnMouseDown(MouseEventArgs args) {
if (args.Button == MouseButtons.Left) {
NativeMethods.ReleaseCapture();
NativeMethods.SendMessage(Handle, 0xa1, (IntPtr)0x2, (IntPtr)0);
}
base.OnMouseMove(args);
}
static class NativeMethods
{
#region Form Dragging API Support
//The SendMessage function sends a message to a window or windows.
[DllImport("user32.dll", SetLastError = false)]
internal static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
//ReleaseCapture releases a mouse capture
[DllImport("user32.dll", SetLastError = false)]
internal static extern bool ReleaseCapture();
#endregion
}
}
}