qq_38328539
wangying的博客
采纳率0%
2018-11-02 04:00 浏览 1.6k

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条回答 默认 最新

相关推荐