0

标题基本上总结了我的问题。我想知道 Mac Carbon SelectWindow 和 ActivateWindow(..., TRUE) 之间的区别是什么。我在旧资源中找到了这些,想知道它们是否可以互换(或者它们的 Cocoa 等价物可能是什么)。

4

2 回答 2

1

从记忆里...

SelectWindow 是对单击窗口的响应。它把窗口带到前面,激活它,并且(通常)让它成为第一响应者。(我在这里使用 Cocoa 术语。)有点像OrderFront

SelectWindow 函数从先前活动的窗口中移除突出显示,将指定的窗口置于最前面,将其突出显示,并生成激活事件以停用先前活动的窗口并激活指定的窗口。如果指定的窗口已经处于活动状态,则 SelectWindow 无效。当用户在光标位于非活动窗口的内容区域时按下鼠标按钮时调用 SelectWindow。

激活窗口更新了窗口框架以指示该窗口是第一响应者。

于 2013-03-22T14:19:59.443 回答
1

您实际上并不需要知道 Cocoa 等价物,您只需要确定您想要做什么。来自 Carbon 的许多需要您实现它们的事情都是由 AppKit 为您完成的。Carbon API 的其他范例只是不会出现在 Cocoa 中。它们看起来很相似,并且与常见的操作系统有许多相似的钩子,但它们却非常不同。

于 2013-03-22T15:43:55.470 回答