获取屏幕当前鼠标位置像素值,求指教。。。

tomato91 2010-12-04 12:31:14
完全菜鸟,刚百度到这么点东西如下
可是不知道这些代码要写在哪些函数体里面,或者在哪里可以对鼠标进行消息响应呢?
求路过的MFC高手们指教,谢谢。。。。。

1、获取屏幕DC

HDC hDC = GetDC(NULL); 获取屏幕DC


2、获取当前鼠标位置像素值

CPoint pt;

GetCursorPos(pt); 得到当前鼠标所在位置


COLORREF clr = GetPixel(hDC, pt.x, pt.y); 获取当前鼠标点像素值


3、分解出像素点中的红、绿、蓝颜色值

CString ClrText;

ClrText.Format(%d,GetRValue(clr));分解出红色值

ClrText.Format(%d,GetGValue(clr)); 分解出绿色值

ClrText.Format(%d,GetBValue(clr)); 分解出蓝色值


ReleaseDC(NULL, hDC); 释放屏幕DC
...全文
751 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
a341869094 2011-12-21
  • 打赏
  • 举报
回复
顶起 刚好需要
wltg2001 2010-12-04
  • 打赏
  • 举报
回复
可是不知道这些代码要写在哪些函数体里面,或者在哪里可以对鼠标进行消息响应呢?
===============================
如果你是想点一下鼠标就得到像素值,那么就应该写在WM_LBUTTONDOWN消息的处理函数中,如果是想鼠标每移一下就要得到它的像素值,那么就应该写在WM_MOUSEMOVE消息的处理函数里。
信阳毛尖 2010-12-04
  • 打赏
  • 举报
回复
WM-MOUSEMOVE消息
xiezonglin 2010-12-04
  • 打赏
  • 举报
回复
onmove~~
xiezonglin 2010-12-04
  • 打赏
  • 举报
回复
onmove
wltg2001 2010-12-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tomato91 的回复:]
额 还是不大清楚额 >_<
CString ClrText;这个要在哪里写。
我把用来显示像素值的编辑框添加变量类型为CString。成员变量m_pvrgb
这样然后要选择添加function函数额。message下面有很多可选项,EN_CHANGE,EN_ERRSPACE,EN_HSCROOL,EN_MAXTEXT等等。。。
要选一个再添加代码么= =|||
HDC hDC = Get……
[/Quote]
你还是去找本MFC入门的书看看吧。
tomato91 2010-12-04
  • 打赏
  • 举报
回复
额 还是不大清楚额 >_<
CString ClrText;这个要在哪里写。
我把用来显示像素值的编辑框添加变量类型为CString。成员变量m_pvrgb
这样然后要选择添加function函数额。message下面有很多可选项,EN_CHANGE,EN_ERRSPACE,EN_HSCROOL,EN_MAXTEXT等等。。。
要选一个再添加代码么= =|||
HDC hDC = GetDC(NULL); 获取屏幕DC。ReleaseDC(NULL, hDC); 释放屏幕DC。这2句要写在哪里呢?
求大牛们说的详细点额。。。谢谢谢谢~~~
向立天 2010-12-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wltg2001 的回复:]
可是不知道这些代码要写在哪些函数体里面,或者在哪里可以对鼠标进行消息响应呢?
===============================
如果你是想点一下鼠标就得到像素值,那么就应该写在WM_LBUTTONDOWN消息的处理函数中,如果是想鼠标每移一下就要得到它的像素值,那么就应该写在WM_MOUSEMOVE消息的处理函数里。
[/Quote]
就是这样了
而且你的代码里有GetCursorPos(pt);
所以可以不用鼠标消息的point参数

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧