hur.cn - 华软网

 热门搜索

vc++ 怎么得到鼠标位置的颜色

  作者:未知    来源:网络    更新时间:2011/5/26
GetCursorPos(&MovePoint);
    
    //GetPixel(MovePoint.x,MovePoint.y);
    
 
     CWnd* DeskWnd = GetDesktopWindow();
       CDC* DeskDC = DeskWnd->GetDC(); 
  m_clr= DeskDC->GetPixel(MovePoint);
     CDC *dc=GetDC();
     str.Format("%d--%d颜色值:%d",MovePoint.x,MovePoint.y,m_clr);
 dc->TextOut(0,0,str);
只能得到鼠标的位置 得不到正确的颜色  那个
 COLORREF GetPixel(
  HDC hdc,    // handle to DC
  int nXPos,  // x-coordinate of pixel
  int nYPos   // y-coordinate of pixel
);
中的 第一个hdc怎么让他指向鼠标位置的dc呀
---华软 网友回答---
先得到鼠标位置的HWND,然后再利用::GetDC()得到HDC行不?
HWND hWnd = ::WindowFromPoint();
HDC hDC = ::GetDC(hWnd);
---华软网友回复---
C++">CPoint point;
COLORREF RGBcolor;
GetCursorPos(&point);
HDC hDC = ::GetDC(NULL);
RGBcolor=::GetPixel(hDC,point.x,point.y);
CString TmpRgb;
TmpRgb.Format("%d",GetRValue(RGBcolor));

TmpRgb.Format("%d",GetGValue(RGBcolor));

TmpRgb.Format("%d",GetBValue(RGBcolor));

---华软网友回复---
引用 2 楼 flyskytoday 的回复:
C/C++ code
CPoint point;
COLORREF RGBcolor;
GetCursorPos(&point);
HDC hDC = ::GetDC(NULL);
RGBcolor=::GetPixel(hDC,point.x,point.y);
CString TmpRgb;
TmpRgb.Format("%d",GetRValue(RGBcolor));……


正解
---华软网友回复---
谢谢三楼      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。