我的代码如下,无论鼠标放哪,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);