HMDT - Logic and Intuition -

about HMDT

Cocoa Programming Tips 1001

Application Kit

NSPanel

Application Kit - NSPanel

パネルをモーダルダイアログの上に表示する

Keywords: setWorksWhenModal:, NSModalPanelWindowLevel

Mac OS X ではモーダルダイログってのがある。たとえばオープンダイアログみたいに、それを閉じるまで他のウィンドウが前面にこないダイアログだ。でも、そいつを表示している間に、パネルを出したい状況もあるよね。TextEdit でのエンコーディング設定パネルとかがその例だ。

こういうパネルを作るには setWorksWhenModal: を使う。

Application Kit/NSView.h

- (void)setWorksWhenModal:(BOOL)flag;

普通、モーダルダイアログが表示されている間は他のウィンドウにイベントがいかないんだけど、これを使うとパネルにもイベントがいくようになる。

あと、パネルをモーダルウィンドウよりも前面に持っていかないといけないんで、setLevel:NSModalPanelWindowLevel を設定してやる。これで OK。

back to top content

Copyright © 2002-2006 HMDT. All rights reserved.