社区
界面
帖子详情
鼠标移动到窗体的某个控件上,能有个提示
warriormark
2010-04-20 11:56:44
如题。
1 MFC 工程
2 基于对话框程序
补充说明:
1 提示函数函数为(afxMessageBox("aaa"));
能给出源码得高分
给出资料也有分
...全文
767
27
打赏
收藏
鼠标移动到窗体的某个控件上,能有个提示
如题。 1 MFC 工程 2 基于对话框程序 补充说明: 1 提示函数函数为(afxMessageBox("aaa")); 能给出源码得高分 给出资料也有分
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
快乐的小菜鸟
2010-09-05
打赏
举报
回复
xiexie 顶起
warriormark
2010-04-21
打赏
举报
回复
[Quote=引用 23 楼 andywei1982 的回复:]
去查查 CToolTipCtrl 这个类的用法就知道了、、、、
[/Quote]
嗯
Tip这个效果我就用CToolTipCtrl这个解决了
现在实际需求是:现在是鼠标移动到控件上,改变鼠标外形
大家都说了不少方法
我现在来实际操作下
感谢大家持续关注
warriormark
2010-04-21
打赏
举报
回复
[Quote=引用 20 楼 wltg2001 的回复:]
引用 6 楼 warriormark 的回复:
引用 4 楼 wltg2001 的回复:
自已从现有控件类中继承个子类,处理WM_MOUSEMOVE消息就行了。
这个思路很不对头
怎么是去每个控件处理 WM_MOUSEMOVE消息,这样工作量多大啊。。
应该是对话框来处理WM_MOUSEMOVE消息,然后根据wParam和lParam来判断是哪个控件才对。。
这个也是可以的……
[/Quote]
。。。我一个button就自绘了三种。。。
andywei1982
2010-04-21
打赏
举报
回复
去查查 CToolTipCtrl 这个类的用法就知道了、、、、
FireBirdCN
2010-04-21
打赏
举报
回复
[Quote=引用 17 楼 warriormark 的回复:]
引用 16 楼 firebirdcn 的回复:
引用 14 楼 warriormark 的回复:
WM_MOUSEMOVE精度太低
简单解释就是,我鼠标不停的移动,它发送WM_MOUSEMOVE的间隔在某些时间段太高了。
“自已从现有控件类中继承个子类”
没看懂这句话
我是直接在Dlg::OnMouseMove中做的
派生子类 是让你派生一个CButtionEX这……
[/Quote]
派生类不是提升为肉价钱 哪有你想的那么麻烦~写好了这个类你可以省很多事 再说这个类也没那么复杂
磨刀不误砍柴工的
wltg2001
2010-04-20
打赏
举报
回复
自已从现有控件类中继承个子类,处理WM_MOUSEMOVE消息就行了。
acdbxzyw
2010-04-20
打赏
举报
回复
有个鼠标事件可以实现。。。
向立天
2010-04-20
打赏
举报
回复
看看我这篇博客吧
希望对你有帮助
http://blog.csdn.net/xianglitian/archive/2007/08/06/1728242.aspx
soswaidao
2010-04-20
打赏
举报
回复
友情帮顶,友情帮顶
wltg2001
2010-04-20
打赏
举报
回复
[Quote=引用 14 楼 warriormark 的回复:]
WM_MOUSEMOVE精度太低
简单解释就是,我鼠标不停的移动,它发送WM_MOUSEMOVE的间隔在某些时间段太高了。
“自已从现有控件类中继承个子类”
没看懂这句话
我是直接在Dlg::OnMouseMove中做的
[/Quote]
说得不清楚,比如你想实现按钮上的功能,那么从CButton子类中继承一个子类就行了。
wltg2001
2010-04-20
打赏
举报
回复
[Quote=引用 6 楼 warriormark 的回复:]
引用 4 楼 wltg2001 的回复:
自已从现有控件类中继承个子类,处理WM_MOUSEMOVE消息就行了。
这个思路很不对头
怎么是去每个控件处理 WM_MOUSEMOVE消息,这样工作量多大啊。。
应该是对话框来处理WM_MOUSEMOVE消息,然后根据wParam和lParam来判断是哪个控件才对。。
[/Quote]
这个也是可以的,不过,你如何判断鼠标到底移到了哪个控件上面呢,如果是利用鼠标的位置那么你要获取控件在对话框中的位置,同样很麻烦。
我说每个控件,其实是指每一种控件,比如有三个按钮,那么写一个自己的CMyButton类就行了。一般来说,这个工作很简单,因为你只是在原来父类的基础上加一个函数就行了。
尹成
2010-04-20
打赏
举报
回复
加入消息映射.
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, OnToolTipNotify)
实现 函数
BOOL 你自己的类::OnToolTipNotify(UINT ID, NMHDR *pNMHDR,
LRESULT *pResult)
{
TOOLTIPTEXTA* pTTTA = (TOOLTIPTEXTA*)pNMHDR;
TOOLTIPTEXTW* pTTTW = (TOOLTIPTEXTW*)pNMHDR;
CString strTipText;
UINT nID = pNMHDR->idFrom;
if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
{
nID = ::GetDlgCtrlID((HWND)nID);
}
if (nID == 0) return FALSE;
switch(nID)
{
case ID_XXX:
MessageBox("aa");
break;
}
zbychhaozeng
2010-04-20
打赏
举报
回复
我把步骤说一下你自己去实现一下
第一步这个肯定是在mousemove消息相应函数里面写的,
用一个while通过findwindows()来判断来判断你要的窗口句柄
用isptrect()//好像拼写错了
if(hwnd->isptrect(pt))
{
afxMessageBox("aaa");
}
这样就好了!
warriormark
2010-04-20
打赏
举报
回复
[Quote=引用 16 楼 firebirdcn 的回复:]
引用 14 楼 warriormark 的回复:
WM_MOUSEMOVE精度太低
简单解释就是,我鼠标不停的移动,它发送WM_MOUSEMOVE的间隔在某些时间段太高了。
“自已从现有控件类中继承个子类”
没看懂这句话
我是直接在Dlg::OnMouseMove中做的
派生子类 是让你派生一个CButtionEX这样的类 在这个类中处理鼠标消息
然后用这个类 来……
[/Quote]
那我疯了的。本来就不是个什么核心功能,把豆腐搞成了肉价钱。
静态的,动态的,继承的,自绘的~~~
FireBirdCN
2010-04-20
打赏
举报
回复
[Quote=引用 14 楼 warriormark 的回复:]
WM_MOUSEMOVE精度太低
简单解释就是,我鼠标不停的移动,它发送WM_MOUSEMOVE的间隔在某些时间段太高了。
“自已从现有控件类中继承个子类”
没看懂这句话
我是直接在Dlg::OnMouseMove中做的
[/Quote]
派生子类 是让你派生一个CButtionEX这样的类 在这个类中处理鼠标消息
然后用这个类 来实例化你的控件
warriormark
2010-04-20
打赏
举报
回复
[Quote=引用 11 楼 vc_love2010 的回复:]
简单的很,处理 notify 消息就可以.
加入消息映射.
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, OnToolTipNotify)
实现 函数
BOOL 你自己的类::OnToolTipN……
[/Quote]
11楼你别慌,你肯定有分的。
这个加Tip的需求我用MFC的CToolTip类搞定了,效果差强人意,所以就此打住算了。
你这个我用来看看做另外一个效果,不过现在快下班了,明天上班之后才能尝试。
最迟4月21日下午5点结贴。
warriormark
2010-04-20
打赏
举报
回复
WM_MOUSEMOVE精度太低
简单解释就是,我鼠标不停的移动,它发送WM_MOUSEMOVE的间隔在某些时间段太高了。
“自已从现有控件类中继承个子类”
没看懂这句话
我是直接在Dlg::OnMouseMove中做的
Elecsoft
2010-04-20
打赏
举报
回复
[Quote=引用 4 楼 wltg2001 的回复:]
自已从现有控件类中继承个子类,处理WM_MOUSEMOVE消息就行了。
[/Quote]
这样就行,
VR_Lab
2010-04-20
打赏
举报
回复
其实就是处理鼠标移动消息,最好自己继承一个控件类,然后重写OnMouseMove这个虚函数判断鼠标在该窗口内的位置即可。
vc_love2010
2010-04-20
打赏
举报
回复
简单的很,处理 notify 消息就可以.
加入消息映射.
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, OnToolTipNotify)
实现 函数
BOOL 你自己的类::OnToolTipNotify(UINT ID, NMHDR *pNMHDR,
LRESULT *pResult)
{
TOOLTIPTEXTA* pTTTA = (TOOLTIPTEXTA*)pNMHDR;
TOOLTIPTEXTW* pTTTW = (TOOLTIPTEXTW*)pNMHDR;
CString strTipText;
UINT nID = pNMHDR->idFrom;
if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
{
nID = ::GetDlgCtrlID((HWND)nID);
}
if (nID == 0) return FALSE;
switch(nID)
{
case ID_XXX:
MessageBox("aa");
break;
}
这个是我做ToolTip用的. 应该给分吧
加载更多回复(6)
这是一个自动
移动
窗体
控件
,可自动
移动
到屏幕边缘,
鼠标
移动
到屏幕编缘,
窗体
自动弹出!
这是一个自动
移动
窗体
控件
,可自动
移动
到屏幕边缘,
鼠标
移动
到屏幕编缘,
窗体
自动弹出!可设置
移动
方向!
窗体
控件
可
移动
窗体
控件
可
移动
朱老师QT系列课程-1.7.QT其他标准
控件
和布局
控件
本课程是《朱老师QT完全学习系列课程》第1部分《QT上手》的第7个课程,本课程由2部分构成。一部分主要讲QT的Item类
控件
,包括ItemView类4个
控件
(QListView、QTreeView、QTableView、QColumnView),以及3个ItemWidget类
控件
(QListWidget、QTreeWidget、QTableWidget)。另一部分是qt的布局类
控件
,包括 (1)中央布局 CentralLayout(2)水平布局 QHBoxLayout 和 垂直布局 QVBoxLayout(3)格栅布局 QGridLayout(4)
窗体
布局 QFormLayout(5)分裂器布局 QSplitter,有水平和垂直2个方向(6)弹簧 Spacer,有水平和垂直2个方向
鼠标
在
控件
上
移动
弹出
窗体
Qt做的界面,当
鼠标
移动
到界面的的某个
控件
。可以自动弹出一个
窗体
或者其他
控件
实现java
控件
在
窗体
中自由
移动
实现
控件
在
窗体
内自由
移动
控件
不能移出
窗体
窗体
大小被设置成屏幕分辨率的大小 当
控件
Y坐标为0并且
鼠标
移出
控件
时,
控件
向上
移动
隐藏自身
鼠标
移动
到
控件
附近的时候,
控件
弹出 点击右键透明度增加,左键透明度降低,滑轮单击退出 *******特别说明,此版本基于jdk6.0,开发工具是eclipse 3.5,直接将此项目导入到eclipse中即可,如果用低于jdk6.0的版本将看不到透明度的效果,也不能调节透明度,(如果实在要用jdk6.0之前的版本,直接注释掉出错的部分即可)
界面
15,979
社区成员
115,897
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章