如何获得我选择的Item的HDC ?
我想通过这个HDC来得到这个Item区域的像素颜色。谢谢!

解决方案 »

  1.   

    没有直接的函数,得到ListCtrl的hDC然后使用GetItemRect函数判断Item区域的颜色吧
    如果是自绘列表的话,可以在自绘函数中得到item的区域和dc
      

  2.   

    没有直接的API
    获取区域然后然后取
      

  3.   


    请问下Listctrl有没有每个Item的hdc?
    我现在控制的这部分不是在customdraw里面,而是在窗口创建完后的一个函数中。直接
    GetDC所取得是不是就是整个ListCtrl的hdc?然后Getpixel(hdc,x,y);就能得到改点的颜色?
      

  4.   

    [
    void CListImageCtrl::OnMouseMove(UINT nFlags, CPoint point) 
    {
    HDC   hDC   =  ::GetDC(NULL); //1.这个是获得整个屏幕的dc
                    HDC   hDcT  =  GetDC();//2.或者GetDC(GetSafeHwnd())
    COLORREF   clr   =   GetPixel(hDC, 20,   20);   
    COLORREF   clr2  =   GetPixel(hDCT, 20,   20);   
    }hDC得到屏幕dc,取颜色没问题。
    但是hDcT获得ListCtrl的dc取出的颜色总是4294967295,无效值。这个dc我去错了吗?