I don't know if this will help. But in this entire thread, no one mentioned that a control is another window and only the window over which the mouse is moving gets the WM_MOUSEMOVE messages (not its parents). You don't want to capture the mouse in your main window, because then your child windows will not receive mouse message (they will all go to your main window). If you need to keep track of the cursor position, even when the mouse cursor is over a child window. Then you should start a timer in you main window (in this case your dialog window) and call GetCursorPos to get the screen coordinates of the cursor. Then there is an API function some where (I forgot the name of it), that can be used to get the handle of a window given the screen coordinates, that you need to call to determine which window you are over. If you need to display the coordinates, then you'll probably need to convert the screen coordinates to the local client coordinates. INTP "The more help VB provides VB programmers, the more miserable your life as a C++ programmer becomes." Andrew W. Troelsen