|
■No8112 (tk さん) に返信
> private void richTextBox1_VScroll(object sender, EventArgs e) {}
>
> から移動量などが見つからないんです。だからWndProcで、(移動量が取得できるらしい)WM_VSCROLLから
> やろうとした経緯がありました。
スクロール位置の取得・設定は、API で行うことになると思います。
※以下はドラッグ中のスクロールには対応していません。
[DllImport("user32")]
public static extern int GetScrollPos(IntPtr hWnd, int nBar);
[DllImport("user32", EntryPoint="SendMessageA")]
public static extern int SendMessage(
IntPtr hWnd, int wMsg, int wParam, IntPtr lParam);
private void richTextBox1_VScroll(object sender, EventArgs e)
{
const int
SB_THUMBPOSITION = 4,
SB_VERT = 1,
WM_VSCROLL = 0x0115;
int pos = GetScrollPos(((Control)sender).Handle, SB_VERT);
SendMessage(richTextBox2.Handle,
WM_VSCROLL, (pos << 16) | SB_THUMBPOSITION,
IntPtr.Zero);
}
|