社区
Delphi
帖子详情
拫据鼠标位置如何得到控件名称
erace992001
2003-08-26 10:24:04
如题,一个API函数
谢谢!!
...全文
109
2
打赏
收藏
拫据鼠标位置如何得到控件名称
如题,一个API函数 谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lxpbuaa
2003-08-26
打赏
举报
回复
用function FindVCLWindow(const Pos: TPoint): TWinControl;也可以
————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
tjff2000
2003-08-26
打赏
举报
回复
先getcursorpos
再WindowFromPoint
则可得到控件句柄了
最后getclassname即可。
Qt
鼠标
相对
位置
、绝对
位置
、窗口
位置
、
控件
位置
、
控件
大小、
控件
绝对
位置
在Qt界面开始时,有时需要根据
鼠标
位置
,
控件
位置
来确定小窗口的弹出
位置
,本篇博客来分析Qt的各种
位置
。 先声明两个名词: 绝对
位置
:相对于桌面窗口原点(0,0)的
位置
相对
位置
:相对于应用程序原点(0,0)的
位置
坐标系 在讨论各种
位置
之前,我们需要了解电脑桌面坐标系、应用程序坐标系。一般都是规定左上角为坐标原点,水平向右为x正,竖直向下为y正,如下图: 比如我的电脑屏幕是2500*1600,对于桌面坐标系,左边是0,右边是2500,上面是0,下面是1600。 创建一个Qt GUI
Qt获取
鼠标
位置
控件
QLabel *label = qobject_cast <QLabel *>(childAt(event->pos()));
Winform
鼠标
拖动改变
控件
大小、移动
控件
位置
基本逻辑: 1、
鼠标
移动过程(未按下
鼠标
左键)进行边界检测,当移动到
控件
边界时(某范围内),改变显示的光标; 2、此时,若按下
鼠标
左键(也可是右键),记录
鼠标
的
位置
和
控件
的大小; 3、按下
鼠标
左键移动过程中,改变
控件
的大小(三个方向)或者location(五个方向); 4、逻辑完善:进行边界检测; 5、编写为自己的类,可以用于初始化
控件
使其具有
鼠标
拖动改变大小的功能。 数据准备
Qt5.9的
鼠标
事件:
鼠标
进入
控件
事件、
鼠标
离开
控件
事件、
鼠标
摁下
控件
事件、
鼠标
释放
控件
事件
本文主要总结在Qt5.9中的
鼠标
事件,该事件包括
鼠标
进入
控件
事件、
鼠标
离开
控件
事件、
控件
内摁下
鼠标
事件、
控件
内释放
鼠标
事件。 实现
鼠标
进入、离开、摁下、释放
控件
的事件,只需要改写事件过滤虚函数eventFilter()就可以实现。 具体的步骤如下所述: a1.首先注册目标
控件
,也就是将目标
控件
加入事件过滤器,用一个函数即可搞定:QPushbutton::installEventFilt...
获取
鼠标
位置
所在
控件
用一个简单的递归来判断子
控件
Control GetControl(Control C) { // GetChildAtPoint 检索位于指定坐标处的子
控件
Control Temp = C.GetChildAtPoint(C.PointToClient(Cursor.Position)); //PointTo
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章