VC/MFC 在ListCtl 控件中随鼠标移动提示单元格信息
- BEGIN_MESSAGE_MAP(CTipListCtrl, CListCtrl)
- //{{AFX_MSG_MAP(CTipListCtrl)
- ON_WM_MOUSEMOVE()
- ON_WM_DESTROY()
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CTipListCtrl message handlers
- void CTipListCtrl::OnMouseMove(UINT nFlags, CPoint point)
- {
- // TODO: Add your message handler code here and/or call default
- if(m_bEnableTips)
- {
- CString str;
- LVHITTESTINFO lvhti;
- // 判断鼠标当前所在的位置(行, 列)
- lvhti.pt = point;
- SubItemHitTest(&lvhti);
- // 如果鼠标移动到另一个单元格内, 则进行处理; 否则, 不做处理
- if((lvhti.iItem != m_nItem) || (lvhti.iSubItem != m_nSubItem))
- {
- // 保存当前鼠标所在的(行,列)
- m_nItem = lvhti.iItem;
- m_nSubItem = lvhti.iSubItem;
- // 如果鼠标移动到一个合法的单元格内,则显示新的提示信息
- // 否则, 不显示提示
- if((m_nItem != -1) && (m_nSubItem != -1))
- {
- // @@@@@@@@ 在这里修改要显示的提示信息
- // 这里仅仅是一个例子---获得当前单元格的文字信息, 并设置为新的提示信息
- str = GetItemText(m_nItem ,m_nSubItem);
- m_toolTip.AddTool(this, str);
- // 显示提示框
- m_toolTip.Pop();
- }
- else
- {
- m_toolTip.AddTool(this, _T("双击记录可查看人员详细信息并对其修改"));
- // 显示提示框
- m_toolTip.Pop();
- }
- }
- }
- CListCtrl::OnMouseMove(nFlags, point);
- }
- BOOL CTipListCtrl::PreTranslateMessage(MSG* pMsg)
- {
- // TODO: Add your specialized code here and/or call the base class
- if(::IsWindow(m_toolTip.GetSafeHwnd()))
- {
- m_toolTip.RelayEvent(pMsg);
- }
- return CListCtrl::PreTranslateMessage(pMsg);
- }
- void CTipListCtrl::OnDestroy()
- {
- CListCtrl::OnDestroy();
- // TODO: Add your message handler code here
- // listctrl销毁时, 同时销毁 tooltipctrl
- m_toolTip.DestroyWindow();
- m_toolTip.Detach();
- }
- BOOL CTipListCtrl::EnableTips()
- {
- EnableToolTips(TRUE);
- // 创建tooltip控件
- m_bEnableTips = m_toolTip.Create(this, TTS_ALWAYSTIP);
- if(m_bEnableTips)
- {
- m_toolTip.Activate(TRUE);
- m_toolTip.SetDelayTime(TTDT_INITIAL, 0);
- }
- return m_bEnableTips;
- }
VC/MFC 在ListCtl 控件中随鼠标移动提示单元格信息的更多相关文章
- VC MFC工具栏(CToolBar)控件
一.工具栏 工具栏控件在控件面板里没有对应的选项(图标),但有一个工具栏控件类CToolBar,所以我们如果要创建一个工具栏控件并显示在窗口里的话,只能用代码来完成,事实上任何一种控件,都可以用代码创 ...
- VC MFC工具栏(CToolBar)控件(转)
工具栏 工具栏控件在控件面板里没有对应的选项(图标),但有一个工具栏控件类CToolBar,所以我们如果要创建一个工具栏控件并显示在窗口里的话,只能用代码来完成,事实上任何一种控件,都可以用代码创建, ...
- vc++,MFC,组合框控件设置时0xC0000005: 读取位置 0x00000020 时发生访问冲突
511.exe 中的 0x78bb5dec (mfc90ud.dll) 处未处理的异常: 0xC0000005: 读取位置 0x00000020 时发生访问冲突 _AFXWIN_INLINE int ...
- 在WPF的WebBrowser控件中屏蔽脚本错误的提示
在WPF中使用WebBrowser控件显示网页时,经常会报脚本错误的提示,如何屏蔽掉这些错误提示呢.方法是定义如下方法: public void SuppressScriptErrors(WebBro ...
- [c#]如何在form的webbrowser控件中获得鼠标坐标
如图这样,其实是要插入一个time的控件,这样才能使得坐标值会根据鼠标的移动而不停变化.time插件中写private void timer1_Tick(object sender, EventArg ...
- 帆软中使用switch将控件的显示值“传递”给单元格
如下图,控件的实际值和显示值是我们自定义的. 当我们选择控件时,想要在某个单元格内显示控件的显示值.一般我们在单元格内直接 $控件名 可以获得控件值.比如当我们选择事故数时,我们自然不能在单元格内直 ...
- 在TextBox控件中禁用鼠标右键
实现效果: 知识运用: MouseEventArgs类的Button属性 TextBox控件的ContextMenu属性 实现代码: private void textBox1_MouseDo ...
- c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index ...
- 转:c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index ...
随机推荐
- [置顶] 如何判断两个IP大小关系及是否在同一个网段中
功能点 判断某个IP地址是否合法 判断两个IP地址是否在同一个网段中 判断两个IP地址的大小关系 知识准备 IP协议 子网掩码 Java 正则表达式 基本原理 IP地址范围 0.0.0.0- 255 ...
- 配置免安装版JAVA1.7的环境变量
我用的是免安装版JAVA1.7,假设想获取JDK能够联系问我要. 1.開始配置环境变量,右击[我的电脑]---[属性]-----[高级]---[环境变量],如图: 2.选择[新建系统变量]--弹出&q ...
- PHP - 将HTML代码转义
代码: 页面显示: 页面源码:
- Gas Station|leetcode 贪心
贪心:尽量将gas[i]-cost[i]>0的放在前面,gas[i]-cost[i]<0的放在后面.(路程的前面有汽油剩下,耗汽油的放在路程的后面). 能否全程通过的 条件 是:sum(g ...
- android通过服务实现消息推送
这里运用到的andorid知识模块主要有Notification和Service,和一个android-async-http-master开源框架 android项目中,有时会有这样一种需求:客户每隔 ...
- HDOJ 3790 双权值Dijkstra
#include <iostream> #include <stdio.h> #include <string.h> #include <cstring> ...
- 架构漫谈:UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
这是一堂关于UML基础知识的补习课:现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了:本篇主要就以前自己一直感觉很迷糊的几种class之间的 ...
- Android GsonUtils工具类
有那么一个开源jar包,叫gson 可以很方便的将java中的对象和字符串相互转化,数据传输和处理的时候,用到的可能性很大 https://github.com/google/gson http:// ...
- 在Windows下用Eclipse+CDT+MinGW搭建C++开发平台
本文提供了在Windows下用Eclipse+CDT+MinGW搭建C / C++开发平台的方法, 测试平台为Windows XP Sp2 CHS. 以下软件均为Windows平台下的版本. 1. ...
- Math.random与java.util.Random的差别
今天在做一道习题时想到了Math.random()与Random类有什么区别,查阅了一些资料,感觉讲的不是太好. 首先两者的区别是一个是方法,一个是类. 其实前者的实现借助与后者.大家可以看一下Mat ...