Konstantin Kondratyuk kondratyuk@etersoft.ru writes:
@@ -2575,11 +2576,24 @@ void WINPOS_SysCommandSizeMove( HWND hwnd, WPARAM wParam ) if(!iconic && !DragFullWindows) draw_moving_frame( hdc, &sizingRect, thickframe ); capturePoint = pt;
/* convert to screen coordinates */
if(parent)
{
POINT* p = (POINT*) &newRect;
ClientToScreen( parent, p );
ClientToScreen( parent, ++p );
converted = TRUE;
}
/* determine the hit location */ if (hittest >= HTLEFT && hittest <= HTBOTTOMRIGHT) wpSizingHit = WMSZ_LEFT + (hittest - HTLEFT); SendMessageW( hwnd, WM_SIZING, wpSizingHit, (LPARAM)&newRect );
/* convert back to client coordinates id needed */
if(converted)
MapWindowPoints( 0, parent, (POINT*)&newRect, 2 );
You should be using MapWindowPoints for the first case too, and there's no need for that extra boolean variable.