0

NSAlert ウィンドウのようにアクティブな状態を維持する進行状況バーをセカンダリ ウィンドウに表示したいと考えています。ユーザーがクリックしようとしたときにサウンドが再生される方法が特に気に入っています。

次のコマンドを実行して、ウィンドウを強制的にアクティブなままにする方法を見つけました。

[[NSNotificationCenter defaultCenter] addObserver: self
                                         selector: @selector(windowChange:)
                                             name: NSWindowDidBecomeKeyNotification
                                           object: nil];

そして、通知メソッドで次のことを行います。

-(void) windowChange:(NSNotification*) notification {
    NSWindow *window = [notification object];
    if (window == myMainWindow) {
        [myProgressWindow makeKeyAndOrderFront:nil];
    }
}

これは私が望むすべてを行うわけではありません。ほとんどの場合、ユーザーがメイン ウィンドウで何かを押さないようにし、プログレス バー ウィンドウをアクティブ/前面に保持したいと考えています。

-GW

4

1 に答える 1

0

これを試してください:

  -(void) windowChange:(NSNotification*) notification 

    {

        NSWindow *window = [notification object];

        if (window == myMainWindow) {

            [myProgressWindow makeKeyAndOrderFront:nil];

            for (NSView *item in [self.myMainWindow.contentView subviews])
            {
                if ([item isKindOfClass:[NSTextField class]] || [item isKindOfClass:[NSButton class]])
                {
                    [(id)item setEnabled:NO];
                }
            }

        }

    }
于 2013-09-26T09:07:15.083 に答える