Bir mac penceresinin ön pencere olmasını nasıl programlayabilirim? Pencere tutamacım var ve penceremin diğer tüm pencerelerin üzerinde görüntülenmesini sağlamak istiyorum. Bunun için hem Karbon & Cocoa'yı kullanabilirim.Mac penceresi nasıl ön plana zorlanır?
6
A
cevap
12
Kakao için lütfen kullandığınız pencere seviyesini ayarlayabilirsiniz:
[window setLevel:NSFloatingWindowLevel];
Yüzen pencere Uygulamanın etkin olmasa bile, diğer tüm normal pencerelerin üzerinde görüntülenir. Eğer Uygulamanın etkin olmak için
, şunları kullanabilirsiniz:
[NSApp activateIgnoringOtherApps:YES];
ve
[window makeKeyAndOrderFront:nil];
0
sen (32 bit) kullanabiliyorsanız kOverlayWindowClass:
WindowRef carbon_window = NULL;
CreateNewWindow(kOverlayWindowClass , ... , &carbon_window);
// if you need cocoa:
NSWindow *cocoa_window = [[NSWindow alloc] initWithWindowRef:carbon_window];
Aksi halde bir NSWindow oluşturun ve pencere seviyesini kCGOverlayWindowLevel
olarak ayarlayın.
Bunun, gösterge panosunun üzerinde olacağını unutmayın. Eğer dashbord altında olmak istiyorsanız kCGUtilityWindowLevel kullanın.
Kendi programınızda bir pencere hakkında mı konuşuyorsunuz? Yoksa diğer uygulama pencereleriyle uğraşmak ister misiniz? – Yuji
Raymond Chen, bu soruyu şöyle sordu: “İki program bunu yapsaydı ne yapardı?” Bunu farkettikten sonra, bunu asla, sadece _request_, bu _force_ diye anlayamayacağınızı anlayacaksınız. – MSalters