2009-05-08 7 views
4

nswindowの位置をロックすることは可能ですか?私はsetIgnoresMouseEventsを求めていません。ユーザーがウィンドウを移動するのを防ぐ必要がありますが、nstoolbarを使用できるはずです。あなたがジェイソンのアドバイスに従うと、キオスクモードを使用する必要がありますnswindowの位置をロックする

+1

これを実行することはありません。キオスク型アプリケーションを作成する場合は、キオスク型アプリケーションを作成するためのガイドラインに従ってください。 –

+0

代わりにあなたは何をしますか?私はいくつかの種類のウィンドウを制御する(ストリーミングプロセスを開始する;それを終了するなど)...私は、パネル、ウィンドウ、ビューの数を減らしたいと思ったので、ツールバーウィンドウを制御するには... –

+1

その場合、なぜユーザーはツールバーを移動したくないのですか?別のスペースや別の画面に移動したい場合はどうなりますか?ユーザーがラップトップを新しい場所に移動したときに画面の解像度が変わるとどうなりますか? –

答えて

1

--molter事前 で

THX。これについてはtechnical noteを参照してください。

9

「通常の」ケースではJasonと同意します。 しかし、私はそのようなことを行うことが適切な特別な状況があると思います。 Appearantly Appleもそう考えている。 10.6で始まる - あなたがする必要があるすべては、コールNSWindows'

- (void)setMovable:(BOOL)flag 

や窓変更するには、NSWindowのサブクラスで

- (BOOL)isMovable; 

を上書きする可動性をです。

これが利用できない場合、Quartz Event Services API(documentation)は、ウィンドウが移動されないようにする方法を提供します。 イベントタップをインストールして、ユーザーがウィンドウのドラッグを開始したときに、更新された(実際の)場所の代わりに最初のマウスの場所のみを含むように着信イベントを操作することが1つの方法です。

+0

問題に良いpersepective ..あなたは新しいライオンウィンドウのサイズを変更apiのは、クランチーな古い石英のイベントハンドラの代替として機能することができると思いますか?もし1つの場合は、 、 例えば? –

関連する問題