1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
[DllImport("user32")]
public static extern int SendMessage(HWND hwnd, int wMsg, int wParam, IntPtr lParam);
[DllImport("user32")]
public static extern int PostMessage(HWND hwnd, int wMsg, int wParam, int lParam);
public const int WM_USER = 0x400;
public const int EM_GETSCROLLPOS = (WM_USER + 221);
public const int EM_SETSCROLLPOS = (WM_USER + 222);
[StructLayout(LayoutKind.Sequential)]
public struct POINT
{
public int x;
public int y;
}
public unsafe POINT GetScrollPos()
{
POINT res = new POINT();
IntPtr ptr = new IntPtr(&res);
SendMessage(Handle, EM_GETSCROLLPOS, 0, ptr);
return res;
}
public unsafe void SetScrollPos(POINT point)
{
IntPtr ptr = new IntPtr(&point);
SendMessage(Handle, EM_SETSCROLLPOS, 0, ptr);
} |
Partager