MFC:鼠标左键

2024-05-13 18:44
文章标签 鼠标 mfc 左键

本文主要是介绍MFC:鼠标左键,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

方法

ON_WM_LBUTTONDOWN( ) afx_msg void OnLButtonDown( UINT, CPoint )  

说明

CWnd::OnLButtonDown
afx_msg void OnLButtonDown( UINT nFlags, CPoint point );
参数: nFlags 指定了不同的虚拟键是否被按下。这个参数可以是下列值之一:
· MK_CONTROL 如果CTRL键被按下,则设置此位。
· MK_LBUTTON 如果鼠标左键被按下,则设置此位。
· MK_MBUTTON 如果鼠标中键被按下,则设置此位。
· MK_RBUTTON 如果鼠标右键被按下,则设置此位。
· MK_SHIFT 如果SHIFT键被按下,则设置此位。

point 指定了光标的x和y轴坐标。这些坐标通常是相对于窗口的左上角的。

说明:当用户按下鼠标左键时,框架调用这个成员函数。
注意 框架调用这个成员函数以允许你的应用程序处理一个Windows消息。传递给你的成员函数的参数反映了接收到消息时框架接收到的参数。如果你调用了这个函数的基类实现,则该实现将使用最初传递给消息的参数(而不是你提供给这个函数的参数)。

实际使用

消息

BEGIN_MESSAGE_MAP(Cmfc07Dlg, CDialogEx)ON_WM_LBUTTONDOWN( )
END_MESSAGE_MAP()

方法

void  Cmfc07Dlg::OnLButtonDown( UINT flag, CPoint point) 
{CString str;str.Format(TEXT("flag=%d x=%d,y=%d"),flag, point.x,point.y);MessageBox(str);
}

其他参考

ON_WM_RBUTTONDBLCLK( ) afx_msg void OnRButtonDblClk( UINT, CPoint )  
ON_WM_RBUTTONDOWN( ) afx_msg void OnRButtonDown( UINT, CPoint )  
ON_WM_RBUTTONUP( ) afx_msg void OnRButtonUp( UINT, CPoint )  ON_WM_LBUTTONDBLCLK( ) afx_msg void OnLButtonDblClk( UINT, Cpoint )  
ON_WM_LBUTTONDOWN( ) afx_msg void OnLButtonDown( UINT, CPoint )  
ON_WM_LBUTTONUP( ) afx_msg void OnLButtonUp( UINT, CPoint )  
ON_WM_MBUTTONDBLCLK( ) afx_msg void OnMButtonDblClk( UINT, CPoint )  
ON_WM_MBUTTONDOWN( ) afx_msg void OnMButtonDown( UINT, CPoint )  
ON_WM_MBUTTONUP( ) afx_msg void OnMButtonUp( UINT, CPoint )  
ON_WM_MDIACTIVATE( ) afx_msg void OnMDIActivate( BOOL, CWnd*, CWnd* )  
ON_WM_MEASUREITEM( ) afx_msg void OnMeasureItem( LPMEASUREITEMSTRUCT )  
ON_WM_MENUCHAR( ) afx_msg LONG OnMenuChar( UINT, UINT, CMenu* )  
ON_WM_MENUSELECT( ) afx_msg void OnMenuSelect( UINT, UINT, HMENU )  
ON_WM_MOUSEACTIVATE( ) afx_msg int OnMouseActivate( CWnd*, UINT, UINT )  
ON_WM_MOUSEMOVE( ) afx_msg void OnMouseMove( UINT, CPoint )  
ON_WM_MOUSEWHEEL( ) afx_msg BOOL OnMouseWheel( UINT, short, CPoint )  
ON_WM_MOVE( ) afx_msg void OnMove( int, int )  
ON_WM_MOVING( ) afx_msg void OnMoving( UINT, LPRECT )  

这篇关于MFC:鼠标左键的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/986518

相关文章

韦季李输入法_输入法和鼠标的深度融合

在数字化输入的新纪元,传统键盘输入方式正悄然进化。以往,面对实体键盘,我们常需目光游离于屏幕与键盘之间,以确认指尖下的精准位置。而屏幕键盘虽直观可见,却常因占据屏幕空间,迫使我们在操作与视野间做出妥协,频繁调整布局以兼顾输入与界面浏览。 幸而,韦季李输入法的横空出世,彻底颠覆了这一现状。它不仅对输入界面进行了革命性的重构,更巧妙地将鼠标这一传统外设融入其中,开创了一种前所未有的交互体验。 想象

Unity3D自带Mouse Look鼠标视角代码解析。

Unity3D自带Mouse Look鼠标视角代码解析。 代码块 代码块语法遵循标准markdown代码,例如: using UnityEngine;using System.Collections;/// MouseLook rotates the transform based on the mouse delta./// Minimum and Maximum values can

简单的角色响应鼠标而移动

actor类 //处理移动距离,核心是找到角色坐标在世界坐标的向量的投影(x,y,z),然后在世界坐标中合成,此CC是在地面行走,所以Y轴投影始终置为0; using UnityEngine; using System.Collections; public class actor : MonoBehaviour { public float speed=0.1f; CharacterCo

MFC中Spin Control控件使用,同时数据在Edit Control中显示

实现mfc spin control 上下滚动,只需捕捉spin control 的 UDN_DELTAPOD 消息,如下:  OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult) {  LPNMUPDOWN pNMUpDown = reinterpret_cast(pNMHDR);  // TODO: 在此添加控件通知处理程序代码    if

控制台和MFC中内存泄露工具vld的使用

最近想检测下项目中内存泄露的情况,选中了vld这款。在查找使用方法的时候,大都是控制台下的示例,添加到main函数所在的源文件上。换成MFC就纠结了,不知道添加到哪里去。本文记录控制台和MFC中的使用vld过程。    vld资源:    1)、大家可以移步下边的网址下载:     http://vld.codeplex.com/releases/view/82311    2

MFC中App,Doc,MainFrame,View各指针的互相获取

纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。 首先说明这四个类的执行顺序是App->Doc->Main->View 另外添加CDialog类获得各个指针的方法。 多文档的获取有点小区别,有时间也总结一下。 //  App void CSDIApp::OnApp() {      //  App      //  Doc     CDocument *pD

PNG透明背景按钮的实现(MFC)

问题描述: 当前要在对话框上添加一个以两个PNG图片作为背景的按钮,PNG图的背景是透明的,按钮也要做出相同的透明效果。并且鼠标不在按钮上时,按钮显示"bg1.png";鼠标移动到按钮上时,按钮显示"bg2.png" 开发环境为VS2010。 解决办法: 使用GDI+库装载PNG图片,并使用MFC Button Control和CMFCButton类结合,调用CMFCButton

MFC 控件重绘(2) NM_CUSTOMDRAW, WM_DRAWITEM, 虚函数DrawItem

控件重绘有三种方法: 1 设定界面属性 2 利用Windows的消息机制,通过Windows消息映射(Message Mapping)和反映射(Message Reflecting),在合适的时机修改控件的状态和行为。此方式涉及NM_CUSTOMDRAW和WM_DRAWITEM 3 利用虚函数机制,重载虚函数。即DrawItem虚函数。 对于NM_CUSTOMDRAW,某些支持此消息的控件

JavaScript练手小技巧:利用鼠标滚轮控制图片轮播

近日,在浏览网站的时候,发现了一个有意思的效果:一个图片轮播,通过上下滚动鼠标滚轮控制图片的上下切换。 于是就有了自己做一个的想法,顺带复习下鼠标滚轮事件。 鼠标滚轮事件,参考这篇文章:鼠标滚轮事件-CSDN博客 一、HTML和CSS 无论怎么样的滚动,首先要制作图片轮播的结构和样式。 HTML: <div class="box" id="box"><ul class="list" i

几种MFC对话框的隐藏方法

修改CXXAPP中的InitInstance函数,将原来的模态对话框改为非模态对话框,及修改 [cpp]  view plain copy INT_PTR nResponse = dlg.DoModal();     为 [cpp]  view plain copy dlg.Create(CModalHideDlg::IDD);