繁体   English   中英

NSSegmentedCell子类的鼠标事件?

[英]Mouse events for an NSSegmentedCell subclass?

我正在尝试在正在使用的Cocoa编辑器中实现一些基本标签。 我正在使用NSSegmentedControl并将分段添加为选项卡。 我正在为标签使用自定义的NSSegmentedCell子类,以便在关闭标签的文本旁边绘制一个小“ x”图标,到目前为止,它一直很顺利。

但是,我无法弄清楚如何实际处理选项卡的鼠标事件,以检查是否有人将鼠标悬停在(或单击了)“ x”图标上。 我尝试在NSSegmentedControl子类中重写“ mouseMoved”,但是由于一些奇怪的原因,当我向其添加新段时,它停止被调用(我在awakeFromNib中将“ setAcceptsMouseMovedEvents”设置为yes,是否还必须在其他地方设置它?? )。 作为NSCell子类的NSSegmentedCells除了鼠标跟踪外,似乎没有任何鼠标事件处理,鼠标跟踪仅在单击控件时触发。

所以问题是,我将如何在NSSegmentedControl或NSSegmentedCell子类中正确处理鼠标事件?

看一下NSTrackingArea 您可以在NSSegmentedControl添加一个跟踪区域,并在该区域上获取鼠标输入的事件以突出显示关闭按钮。

至于获取点击事件,最好是使用单独的NSActionCell子类作为关闭按钮,并在那里进行一些命中测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM