Создание невидимого NSWindow поверх модального

Я пишу плагин и являюсь большим новичком в Какао; Хост отображает модальное диалоговое окно и вызывает мой плагин там. Я хочу создать невидимое NSWindow поверх этого модального диалога (это NSWindow будет использоваться для создания нового модального диалога wxWidgets).

Но дело в том, что независимо от того, какой код я пишу, всегда отображается пустое окно без полей фиксированного размера, которое находится под модальным диалогом хоста...

Вот что я попробовал:

    NSWindow *myWindow = [[NSWindow alloc] initWithContentRect:frameRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO ]; //
    [myWindow setFrame:frameRect display:YES];
    [myWindow setFrame:NSMakeRect(0.f, 0.f, 1.f, 1.f) display:YES animate:YES];


    NSRect frame = [myWindow frame];
    frame.size = NSMakeSize (0.0, 0.0);
    [myWindow setFrame: frame display: NO animate: NO];

    [myWindow makeKeyAndOrderFront:nil];
    [myWindow setLevel:NSStatusWindowLevel];
    [myWindow setLevel:CGWindowLevelForKey(kCGMaximumWindowLevelKey)];
    [NSApp activateIgnoringOtherApps:YES];

Если я сделаю это:

[[myWindow contentView] setIsVisible:NO];
    for (NSView *view in [[myWindow contentView] subviews]) {
      [view setHidden:YES];
    }

Тогда оригинальный родной мод исчезает. У меня нет доступа к оригинальному NSWindow, используемому для создания собственного модального узла. Что мне нужно для моего окна, так это чтобы он был сверху (как модал) и был невидимым / прозрачным или шириной 1 пиксель.

Любая идея? Спасибо!

0 ответов

Другие вопросы по тегам