我如何以编程方式强制将Mac窗口置于前台?我有窗口句柄,并希望确保我的窗口显示在所有其他窗口之上。我可以使用Carbon和Cocoa来实现。
我如何以编程方式强制将Mac窗口置于前台?我有窗口句柄,并希望确保我的窗口显示在所有其他窗口之上。我可以使用Carbon和Cocoa来实现。
对于Cocoa,您可以使用以下方式设置窗口级别:
[window setLevel:NSFloatingWindowLevel];
一个悬浮窗口会显示在所有其他常规窗口的上方,即使您的应用程序没有处于活动状态。
如果要使您的应用程序处于活动状态,可以使用:
[NSApp activateIgnoringOtherApps:YES];
和
[window makeKeyAndOrderFront:nil];
如果您可以(仅限32位)使用kOverlayWindowClass:
WindowRef carbon_window = NULL;
CreateNewWindow( kOverlayWindowClass , ... , &carbon_window );
// if you need cocoa:
NSWindow *cocoa_window = [[NSWindow alloc] initWithWindowRef:carbon_window];
kCGOverlayWindowLevel
。