without the event firing for a control then it only fires when the mouse is on the dialog. if this is the case then how could the mouse be in a controls rect for inrect to work? but because it does fire for a control then the mouse will be in that particular control when the event occurs so of course inrect would work. if you had a control that was 0 0 50 50 then the mouse event wouldnt even fire while you were in that rect. when it did fire you would be outside that rect so a $inrect(0,0,50,50) would fail. however since it does occur for controls now then hit testing seems pointless. i havent checked but has any of the others been added such as leave drop etc.. for controls?