MFC的静态控件怎么响应鼠标事件呀。。要详细一点的。。我菜鸟,谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC的静态控件怎么响应鼠标事件呀。。要详细一点的。。我菜鸟,谢谢相关的知识,希望对你有一定的参考价值。

就是静态控件。。图片之类的响应鼠标按下的事件,在没有控件的区域能响应,但静态控件上总是响应不了,不知道怎么处理

参考技术A 在你想要添加响应的类上,
右键添加消息处理Add windows Message Handle
选择windows事件 WM_LBUTTONDOWN
然后编辑函数追问

picture类上只有单击事件,没有鼠标按下事件。。。
菜鸟,抱歉

参考技术B Windows中通过光标来指示当前鼠标的位置,在Windows操作系统中预定义了几种光标,并在Windows.h头文件中加以定义;用户也可以自定义光标,自定义光标保存在扩展名为.cur的文件中:光标名 CURSOR 光标文件(.cur)
加载光标资源(常在定义窗口类时进行)
LoadCursor(hThisInst,lpszCursorname)
另外:
lParam包含了鼠标位置(低位包含鼠标位置的x坐标值,高位包含鼠标位置的y坐标)
wParam包含了指示各种虚键状态的值(如:WM_LBUTTONDOWN用户区内按下鼠标左键等消息)
例如下面的部分代码:
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) //窗口处理函数
HCURSOR hcursor;
static int x,y; //鼠标的坐标值
switch(message)

case WM_MOUSEMOVE: //事件,鼠标移动
x=LOWORD(lParam); //得到鼠标的x、y坐标值
y=HIWORD(lParam);
if(x>50&&x<150&&y>50&&y<150) //判断鼠标是否在目标区域
hcursor=LoadCursor(NULL,IDC_CROSS); //十字光标
SetCursor(hcursor);

……
case WM_LBUTTONDOWN: //事件,鼠标左键被按下
……


上面就是应用程序对鼠标的响应,但是不知道你提问的问题具体是指哪方面的响应,不知道我的回答能否让你满意。本回答被提问者采纳
参考技术C static text 那个控件嘛??还是??

以上是关于MFC的静态控件怎么响应鼠标事件呀。。要详细一点的。。我菜鸟,谢谢的主要内容,如果未能解决你的问题,请参考以下文章

MFC中怎么让一个继承CWnd的静态控件来响应鼠标移动的消息

MFC中如何让静态控件响应鼠标移动的消息?

MFC 中,按钮和其他(比如:图片框、列表框)控件怎么响应鼠标移动消息?

MFC怎么为一幅图片添加鼠标点击事件?

MFC怎样设置编辑框响应键盘啊?我做了个计算器,将编辑框禁止了,又想能用键盘输入,怎么办呀?

opencv与mfc显示图片操作,MFC的鼠标响应在opencv图片上失效,opencv滚轮事件没有响应问题描述解决。