menu: nasty bug in menu tracking

Andrew de Quincey adq_dvb at lidskialf.net
Thu Dec 4 17:15:31 CST 2003


On Thursday 04 December 2003 22:59, Alexandre Julliard wrote:
> Andrew de Quincey <adq_dvb at lidskialf.net> writes:
> > The problem is that MSG.lParam is NOT necessarily in screen coordinates
> > (even though the comment I have removed says they are). As I can't trust
> > the MSG.pt either, this means using GetCursorPos() to determine the mouse
> > position in screen coordinates.
>
> This is wrong, you have to use lParam, as the comment says. And the
> coordinates are always in screen coords when we are tracking the
> menu. Something else must be going on here.

OK, I'll keep looking. I've printed out the coordinates I get in the tracking 
loop. As soon as the popup menu is displayed, they are immediately "off" by 
the position of the menu on the top of the screen. Its fine on menus without 
popups.

Out of interest, why do you specifically have to use lParam? Since it is 
(supposed to be) in screen coordinates, surely GetCursorPos() has to return 
the same values?



More information about the wine-devel mailing list