1


0

HUDウィンドウであるNSPanelからサイズ変更コーナーを削除するにはどうすればよいですか

NSPanel HUDスタイルからサイズ変更コーナーを削除しようとしています。

これが私が今試していることです。

NSUInteger currentStyleMask = [somePanel styleMask]; [somePanel setStyleMask:currentStyleMask | !NSResizableWindowMask];

NSWindowがsetStyleMaskに応答しない可能性があり、NSWindow.hで定義されていないという警告も表示されますが、NSWindowのドキュメントで定義されています。

1 Answer


1


NSWindowのスタイルマスクは作成時にのみ設定でき、ウィンドウがインスタンス化されると変更できません。

プログラムでウィンドウを作成し、 `-initWithContentRect:styleMask:backing:defer:`を呼び出してウィンドウを初期化し、目的のスタイルマスクを渡す必要があります。

プログラムで作成するのではなく、Interface Builderでウィンドウを操作する場合は、 NSWindow`をサブクラス化し、 -initWithContentRect:styleMask:backing:defer: をオーバーライドし、スタイルマスクを super`に渡す必要があります。実装。 その後、Interface Builderでサブクラスをウィンドウに割り当てることができます。