Microsoft KB Archive/111650

{|
 * width="100%"|

BUG: DrawFocusRect Fails in MM_LOMETRIC or MM_ISOTROPIC Mode

 * }

Q111650

-

The information in this article applies to:


 * Microsoft Windows Software Development Kit (SDK) versions 3.0, 3.1

-

SYMPTOMS
If DrawFocusRect is called when the mapping mode is MM_LOMETRIC or MM_ISOTROPIC, no rectangle is drawn.

DrawFocusRect is documented to take logical units and works properly in MM_TEXT mapping mode. However, if the mapping mode is changed to MM_LOMETRIC or MM_ISOTROPIC, as in the following code fragment, DrawFocusRect called with an appropriate rectangle (logical units) does not work. Calling Rectangle with the same rectangle does work.

case WM_PAINT: hDC = BeginPaint(hWnd, &ps);

SetRect(&rc, 0,0,100,100); DrawFocusRect(hDC, &rc);     // Works as documented.

SetMapMode(hDC, MM_LOMETRIC); SetRect(&rc, 1,-200,100,-300); DrawFocusRect(hDC, &rc);    // Doesn't do anything. Rectangle(hDC, rc.left, rc.top, rc.right, rc.bottom); // Works

EndPaint(hWnd, &ps); break;

STATUS
Microsoft has confirmed this to be a bug in Windows versions 3.0 and 3.1.

Additional query words:

Keywords : kbGDI

Issue type : kbbug

Technology : kbAudDeveloper kbWin3xSearch kbSDKSearch kbWinSDKSearch kbWinSDK300 kbWinSDK310