それが本当に古いものであることは知っていますが、私はそれについて頭を悩ませています. なぜこれが起こっているのか誰にも分かりますか?
たとえば、スクロールバーのマウス クリック通知がWM_NCHITTEST
-> WM_NCLBUTTONDOWN
-> WM_SYSCOMMAND
-> WM_HSCROLL
orを介して伝播される場合、このチェーンのすべてのパラメーターは、およびforWM_VSCROLL
を除いて、ドキュメントに従っているように見えます。だから私がするなら:SC_HSCROLL
SC_VSCROLL
WM_SYSCOMMAND
//From within WndProc
if(message == WM_SYSCOMMAND)
{
UINT uiCmd = wParam & 0xFFF0;
if(uiCmd == SC_HSCROLL)
{
TRACE(L"Horiz scroll\n");
}
else if(uiCmd == SC_VSCROLL)
{
TRACE(L"Vertical scroll\n");
}
}
水平方向と垂直方向の通知を受け取るようです。
これが Spy++ からの証明です。この下矢印をクリックすると:
これらはウィンドウが受け取る通知です:
を除いてすべて正しいSC_HSCROLL
。なんてこと?