comctl32: Make an attempt to update notification handle
djelinski1 at gmail.com
Tue Mar 26 15:10:14 CDT 2013
2013/3/26 Nikolay Sivov <nsivov at codeweavers.com>:
> Is there any reliable way to test send mouse messages? Cause it looks like
> if I send WM_LBUTTONDOWN directly it doesn't trigger tab selection code on
> windows, but works in wine.
Do you want to figure out the correct sequence of messages or write
tests for wine's test suite? Either way, it's a good idea to start
with winetricks comctl32. After that WINEDEBUG=+message gives you all
information you may need.
First thing you may want to check is if there's a modal message loop
involved. Run the application with +message and click. If the last
line in console is '...WM_LBUTTONDOWN returned', you're looking at a
message loop. If it's WM_LBUTTONUP, it's probably standard handling.
Keep in mind that some window styles may affect message handling (e.g.
treeview handles mouse messages differently when TVS_DISABLEDRAGDROP
If you want to write tests, you may be able to use SendMessage. It's
much less work than SendInput or mouse_event, and is more reliable as
BlockInput is not implemented. I had some degree of success with
SendMessage when testing ListView and Treeview, but my tests never
made it into git.
Also some message handlers use mouse coordinates from lParam, while
others seem to use either GetCursorPos or GetMessagePos, so setting
cursor position may be necessary.
More information about the wine-devel