GetPixel出现的问题。

我的代码如下,无论鼠标放哪,colorref的值一直是(255,255,255),即就是CLR__INVALID ,如果将下面::ScreenToClient(m_map.m_hWnd, &p); 去掉和HDC hDC = ::GetDC(m_map.m_hWnd);改为HDC hDC = ::GetDC(NULL)是对的,但我想得到的是浏览器控件(控件名为m__map)上的坐标以及像素,而不是屏幕上的,怎么办

    POINT   p;

    GetCursorPos(&p); 
    ::ScreenToClient(m_map.m_hWnd, &p); 
    CString s;
    CFont font;                                       
    font.CreateFont(20, 9, 0, 0, 1200,
        TRUE, FALSE, FALSE, 0, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_ROMAN, _T("Arial"));
    s.Format(_T("X:%d,Y:%d"), p.x, p.y);
    hPos.SetFont(&font);
    hPos.SetWindowTextA(s);
    //RGB值显示

HDC hDC = ::GetDC(m_map.m_hWnd);

COLORREF colorref = ::GetPixel(hDC,p.x, p.y);//Get the cursor color

::ReleaseDC(m_map.m_hWnd,hDC);

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!