3

それが本当に古いものであることは知っていますが、私はそれについて頭を悩ませています. なぜこれが起こっているのか誰にも分かりますか?

たとえば、スクロールバーのマウス クリック通知がWM_NCHITTEST-> WM_NCLBUTTONDOWN-> WM_SYSCOMMAND-> WM_HSCROLLorを介して伝播される場合、このチェーンのすべてのパラメーターは、およびforWM_VSCROLLを除いて、ドキュメントに従っているように見えます。だから私がするなら:SC_HSCROLLSC_VSCROLLWM_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。なんてこと?

4

1 に答える 1