如何在Delphi FireMonkey中实现鼠标悬停TLabel文字时更改鼠标图标?
实现TLabel鼠标悬停时切换鼠标图标
步骤1:为TLabel绑定鼠标事件
在Delphi IDE中选中目标TLabel组件,在对象查看器的Events标签页里,找到OnMouseEnter和OnMouseLeave事件,分别关联对应的处理函数。
步骤2:编写事件处理代码
在两个事件函数中分别设置光标样式:
procedure TForm1.Label1MouseEnter(Sender: TObject); begin // 悬停时切换为手型光标,可替换为crCross、crWait等系统预设光标类型 Label1.Cursor := crHandPoint; end; procedure TForm1.Label1MouseLeave(Sender: TObject); begin // 鼠标离开时恢复默认光标 Label1.Cursor := crDefault; end;
自定义光标补充
如果需要使用自定义图标作为光标,可通过LoadCursorFromFile加载.cur格式的自定义光标文件:
var CustomCursor: HCURSOR; begin CustomCursor := LoadCursorFromFile('C:\YourPath\CustomCursor.cur'); if CustomCursor <> 0 then Label1.Cursor := CustomCursor; // 注意:自定义光标使用完毕后需调用DestroyCursor释放资源,避免内存泄漏 end;
内容的提问来源于stack exchange,提问作者liansa111




