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 ...
随机推荐
- 基于visual Studio2013解决C语言竞赛题之0520相邻元素
题目
- VC多线程编程
一.问题的提出 编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX ...
- GCD其他实用场景
GCD线程间通信 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); ...
- sql server 深入使用 总结 part1
1 OUTPUT 应用场景 : 1.1.对于INSERT,可以引用inserted表以查询新行的属性. insert into [表名] (a) OUTPUT Inserted. ...
- awk 的逻辑运算字符
既然有需要用到 "条件" 的类别,自然就需要一些逻辑运算啰-例如底下这些:运算单元代表意义> 大于小于>= 大于或等于小于或等于== 等于!= 不等于值得注意的是那个 ...
- activity横屏竖屏的切换
原理: 其实总结起来,我们可以得到以下的一些结论 1.当内存不足(不容易模拟).切屏时会调用onSaveInstanceState().onRestoreInstanceState()方法 对于onS ...
- cocos2d-x游戏开发系列教程-中国象棋00-前言
象棋描述 在说代码之前,我们先让象棋效果登场,以方便大家对代码的理解 欢迎界面 中国象棋程序,运行起来的第一个界面是一个欢迎界面,该欢迎界面在停留一秒后进入游戏界面 游戏主界面 新局:所有棋子归位,状 ...
- Ibatis2.3.4的一个bug
java.lang.ClassCastException: com.chat.upgrade.domain.ClientFile cannot be cast to java.lang.String ...
- SLF4J warning or error messages and their meanings(转)
The method o.a.commons.logging.impl.SLF4FLogFactory#release was invoked. Given the structure of the ...
- 双击GridView查看详情
效果如下: protected void gvEquData_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowTy ...