MFC的静态控件怎么响应鼠标事件呀。。要详细一点的。。我菜鸟,谢谢
就是静态控件。。图片之类的响应鼠标按下的事件,在没有控件的区域能响应,但静态控件上总是响应不了,不知道怎么处理...
就是静态控件。。图片之类的响应鼠标按下的事件,在没有控件的区域能响应,但静态控件上总是响应不了,不知道怎么处理
展开
展开全部
在你想要添加响应的类上,
右键添加消息处理Add windows Message Handle
选择windows事件 WM_LBUTTONDOWN
然后编辑函数
右键添加消息处理Add windows Message Handle
选择windows事件 WM_LBUTTONDOWN
然后编辑函数
追问
picture类上只有单击事件,没有鼠标按下事件。。。
菜鸟,抱歉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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: //事件,鼠标左键被按下
……
}
}
上面就是应用程序对鼠标的响应,但是不知道你提问的问题具体是指哪方面的响应,不知道我的回答能否让你满意。
加载光标资源(常在定义窗口类时进行)
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: //事件,鼠标左键被按下
……
}
}
上面就是应用程序对鼠标的响应,但是不知道你提问的问题具体是指哪方面的响应,不知道我的回答能否让你满意。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
static text 那个控件嘛??还是??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询