响应窗体的 OnSetCursor 消息响应
鼠标移动到某空间时改变 形状
BOOL CQQBulkDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
// TODO: 在此添加消息处理程序代码和/或调用默认值
CPoint pos;
GetCursorPos(&pos); //获取当前鼠标位置
CRect rc;
GetDlgItem(IDC_Link)->GetWindowRect(&rc); //获取ID为IDC_LINK的Static Text的范围
if (rc.PtInRect(pos)) //如果鼠标在这个范围之内
{
SetCursor(LoadCursor(NULL, IDC_HAND)); //设置成手状
return TRUE; //记得返回TRUE
}
return CDialog::OnSetCursor(pWnd, nHitTest, message);
}
转载于:https://my.oschina.net/Thekillersohot/blog/699605
分享到:
相关推荐
在VC++和MFC(Microsoft Foundation Classes)编程中,改变鼠标形状是一项常见的需求,尤其是在创建自定义用户界面或游戏时。MFC是微软提供的一套C++类库,用于简化Windows应用程序开发,它包含了丰富的控件和功能,...
通过以上步骤,你就可以在MFC应用中实现鼠标移动时改变光标形状的功能。这不仅能提供更好的视觉反馈,也能帮助用户更好地理解他们可以进行的操作。在实际开发中,可以根据需求调整代码,实现更丰富的交互效果。
例如,可以通过重载 CWnd 类的 OnSetCursor() 方法来改变鼠标指针的形状,使其在拖动时显示为移动手型。 2. **处理 WM_LBUTTONDOWN 消息**: 当鼠标左键被按下时,你需要在控件的 ON_WM_LBUTTONDOWN() 事件处理...
4. **设置鼠标形状**:在`OnLButtonDown`后,我们可以使用`SetCursor`函数改变鼠标形状,例如设置为十字光标,表示正在进行拖动操作。 5. **处理鼠标移动**:在`OnMouseMove`中,我们计算鼠标当前位置与初始位置的...
总之,MFC任意形状的按钮控件是通过继承CButton类并重写其绘图和事件处理来实现的,这使得开发者能够自由地设计按钮的外观和交互,为应用程序增添独特性和个性化。在实际编程中,开发者需要熟悉MFC的类结构、消息...
在MFC(Microsoft Foundation Classes)框架中,处理鼠标事件是一项重要的任务,特别是在开发用户界面时。"MFC 鼠标按下与弹起事件响应"的主题着重于如何响应鼠标的按下和释放动作,这对于实现交互式的UI控件,如...
总的来说,"MFC任意形状按钮控件"的实现涉及到C++类的设计、MFC消息处理机制的理解、Windows图形API的使用以及事件驱动编程的概念。通过这样的方式,开发者可以创建出富有创意且具有专业外观的用户界面,提升应用...
本文将详细介绍如何在VC++环境下,利用MFC库中的TreeCtrl控件实现鼠标移动时改变字体及颜色的效果,以提高用户体验。 首先,我们需要了解TreeCtrl控件。它是MFC对Windows API中的CTreeCtrl类的封装,用于创建和管理...
8. **视觉反馈**:在拖动过程中,通常需要提供视觉反馈,例如改变被拖动item的形状或颜色,这可以通过重绘树控件来实现。 9. **错误处理**:处理可能的错误,例如DoDragDrop()返回的DRAGCANCEL,意味着用户取消了...
// 在鼠标移动事件中设置光标 void CSetCursorTestDlg::OnMouseMove(UINT nFlags, CPoint point) { CDialogEx::OnMouseMove(nFlags, point); SetCursor(hMyCursor); } // 在鼠标左键按下事件中,可能需要设置不同...
6. **实时更新**:在`On_WM_MOUSEMOVE`中,每次鼠标移动时,如果鼠标按钮被按下,就调用`CRectTracker`的`HitTest`方法检查是否在矩形边缘,如果是,则更新矩形。同时,使用`Invalidate`函数强制重绘图像控件,以便...
在MFC中,我们可以利用CWnd或CView子类化来处理游戏窗口的事件,如鼠标点击或键盘输入,这些事件将驱动角色移动。 为了实现三级缓存机制,我们需要理解数据存储和检索的优化策略。一级缓存(L1 Cache)、二级缓存...
当用户滚动鼠标滚轮时,控件可以改变其内部的缩放因子,并相应地调整坐标系的大小。这可能涉及到`On_WM_MOUSEWHEEL()`函数,其中根据滚轮的滚动方向更新缩放参数,并调用`RedrawWindow()`来刷新视图。 3. **鼠标平...
在本文中,我们将深入探讨如何在VC6.0环境下利用MFC(Microsoft Foundation Classes)库创建一个能够随鼠标移动的放大镜效果。这个实例主要涉及了BitBlt和StretchBlt函数的应用,以及椭圆型对话框的设计。下面将详细...
这个控件展示了如何在MFC框架下利用图形设备接口(GDI)进行绘图操作,为初学者提供了学习MFC和ActiveX控件开发的基础。 首先,我们来看看如何创建一个基本的MFC ActiveX控件。你需要在Visual Studio中选择“新建...
在IT行业中,MFC(Microsoft Foundation Classes)是一个由微软开发的C++类库,它为Windows应用程序开发提供了封装。这个“移动的球体MFC制作”项目,显然是一个基于MFC技术实现的图形用户界面(GUI)应用,用于展示...
在Windows编程领域,MFC(Microsoft Foundation Classes)是一个C++库,用于简化开发Windows应用程序的过程。其中,Slider Control(滑块控件)是常见的UI元素,通常用于选择一个范围内的值。本文将深入探讨如何对...
在本文中,我们将深入探讨如何使用GDI+在MFC对话框中绘制矩形,并实现旋转、缩放和移动的功能。GDI+是Windows应用程序开发中的一个图形库,提供了丰富的图形绘制能力,包括线条、形状、图像处理等。MFC(Microsoft ...
在探讨“MFC移动的小人”这一主题时,我们不仅涉及了基础的图形用户界面(GUI)编程,还深入到了事件驱动编程、图形绘制以及动画技术等多方面知识。MFC,即Microsoft Foundation Classes,是微软提供的一套用于简化...
这些图形的信息(如位置、形状类型、颜色等)应被序列化并保存到文件中,以便于程序退出后再次打开。 - MFC提供了`CDocument`类,可以与`CFile`类配合实现文件的读写。在保存和加载图形时,可以将图形信息转换为二...