如果鼠标按下,就显示焦点矩形。但是显示了会重叠,一大堆...WM_MOUSEMOVE if(wParam == MK_LBUTTON)
{
hdc= GetDC(hWnd);
SetRect(&rect, (int)LOWORD(lParam), 0,(int)LOWORD(lParam) + 5, rect.bottom);
::DrawFocusRect(hdcSize, &rectCliSize);
}
ReleaseDC(hWnd, hdc);

解决方案 »

  1.   

    是放在WM_MOUSEMOVE里边当MK_LBUTTON(鼠标左)按下的时候就显示热点矩形。可是一移动就很多重叠。用In...Rect也没办法...
      

  2.   

    闪得很厉害!显示隐隐现现...
    不加Invlidate,又重叠...
    case WM_MOUSEMOVE:
    int nXPos;
    int nYPos;
    HDC hdcSize;
    RECT rectCliSize;
    GetClientRect(hWnd, &rectCliSize); nXPos = (int)LOWORD(lParam);
    nYPos = (int)HIWORD(lParam); if(wParam == MK_LBUTTON)
    {
    hdcSize = GetDC(hWnd);
    ::InvalidateRect(hWnd, &rectCliSize, TRUE);
    SetRect(&rectCliSize, (int)LOWORD(lParam), rectCliSize.top, nXPos + 5, rectCliSize.bottom);
    ::DrawFocusRect(hdcSize, &rectCliSize);
    }
    ReleaseDC(hWnd, hdcSize);