MFC中静态控件怎样改变鼠标的形状呀?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中静态控件怎样改变鼠标的形状呀?相关的知识,希望对你有一定的参考价值。

参考技术A 按下insert键

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中如何让静态控件响应鼠标移动的消息?

MFC 改变光标形状

MFC如何让鼠标移动到按钮上马上改变鼠标形状为手型

MFC编程的时候,改变鼠标光标样式

在Delphi中怎样抓取鼠标形状

vb.net 中 怎么实现 当鼠标移动到某控件时 改变鼠标的形状