Значение теста HIT, полученное WM_NCHITTEST , по -видимому, немного неверно неверно, несмотря на передачу, казалось бы, правильные значения. Нужно ли отрегулировать LPARAM перед отправкой на процедуру по умолчанию?
start ht: 8
window (656 x 519) at (1042, 297)
1 at (1556, 315)
end ht: 2
start ht: 8
window (656 x 519) at (1042, 297)
1 at (1570, 308)
end ht: 2
start ht: 8
window (656 x 519) at (1042, 297)
1 at (1594, 312)
end ht: 8
start ht: 20
window (656 x 519) at (1042, 297)
1 at (1646, 307)
end ht: 9
start ht: 20
window (656 x 519) at (1042, 297)
1 at (1664, 311)
end ht: 20
start ht: 20
window (656 x 519) at (1042, 297)
1 at (1683, 311)
end ht: 20
< /code>
GetCursorPos()
успешно и дает правильный результат. Htminbutton в этом случае должен находиться от 530px до 576px от позиции происхождения Windows. Каждый тест, ожидающий htminbutton в этом диапазоне, но получающаяся полученная целевая цель от wm_nchittest является неточным.
Я использую getcursporspos () , как описано, чтобы получить экраны координат курсора, что и ожидает, что это будет и не то, что и есть.>
MSG msg = { 0 }; ShowWindow(hwnd, SW_NORMAL); while (GetMessage(&msg, nullptr, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; } [/code] ..., который дал результаты: ・ Left Mouse вниз по при htminbutton , левая мышь в верхней левой части экрана [code]start ht: 8 window (656 x 519) at (1042, 297) 1 at (0, 0) end ht: 0 [/code] ・ Left Mouse up of htminbutton [code]start ht: 8 window (656 x 519) at (1042, 297) 1 at (1556, 315) end ht: 2
start ht: 8 window (656 x 519) at (1042, 297) 1 at (1570, 308) end ht: 2
start ht: 8 window (656 x 519) at (1042, 297) 1 at (1594, 312) end ht: 8 [/code] ・ Left Mouse up ожидает htclose [code]start ht: 20 window (656 x 519) at (1042, 297) 1 at (1646, 307) end ht: 9
start ht: 20 window (656 x 519) at (1042, 297) 1 at (1664, 311) end ht: 20
start ht: 20 window (656 x 519) at (1042, 297) 1 at (1683, 311) end ht: 20 < /code> GetCursorPos()[/code] успешно и дает правильный результат. Htminbutton в этом случае должен находиться от 530px до 576px от позиции происхождения Windows. Каждый тест, ожидающий htminbutton в этом диапазоне, но получающаяся полученная целевая цель от wm_nchittest является неточным. Я использую getcursporspos () , как описано, чтобы получить экраны координат курсора, что и ожидает, что это будет и не то, что и есть.>