resizeFlags
どのモディファイアキーが押されているかを返します
@property(readonly) NSInteger resizeFlagsvar resizeFlags: Int { get }
解説
ウインドウのサイズを変更しようとするときモディファイアキーが押されているかを返します。
フラグのリストはNSEventの modifierFlags メソッドにあります。
ウインドウのデリゲートメソッドwindowWillResize:toSize:で使うと、ウインドウのリサイズの量や方向をコントロールする事が出来ます。
【フラグ】
● NSAlphaShiftKeyMask
● NSShiftKeyMask シフト
● NSControlKeyMask コントロール
● NSAlternateKeyMask alt
● NSCommandKeyMask コマンド
● NSNumericPadKeyMask Num
● NSHelpKeyMask ヘルプ
● NSFunctionKeyMask ファンクションキー
● NSControlKeyMask コントロールキー
● NSAlternateKeyMask オプション(alt)キー
● NSCommandKeyMask コマンドキー
● NSAlphaShiftKeyMask
● NSShiftKeyMask
● NSNumericPadKeyMask
● NSHelpKeyMask
● NSFunctionKeyMask
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
● NSDeviceIndependentModifierFlagsMask
Swift
●Controllキー
0b000001
●Left Shiftキー
0b000010
●Right Shiftキー
0b000100
●Command(⌘)キー
0b001000
●5
●Optionキー
0b100000
●9
●10
●11
●12
●13
●14
●15
●16
返り値
( int )
整数値
引数
フレームワーク
ApplicationKit
クラス
NSWindow
使用可能
10.0
参照
更新時のバージョン
OS X 10.10
関連記事(外部サイト)
例文
#import "Controller.h" @implementation Controller - (IBAction)pushButton:(id)sender { NSLog([NSString stringWithFormat:@"%d",[myWindow resizeFlags]]); } -(NSSize)windowWillResize:(id)sender toSize:(NSSize)proposedFrameSize { if ([myWindow resizeFlags] == NSCommandKeyMask){ return NSMakeSize(100,100); }else{ return proposedFrameSize; } } @end
//NSWindow resizeFlags func windowWillResize(sender: NSWindow, toSize frameSize: NSSize) -> NSSize { NSLog("%u",sender.resizeFlags) if ((sender.resizeFlags & 0b000001)>0){ NSLog("Controll") } if (((sender.resizeFlags & 0b000010) >> 1)>0){ NSLog("Left Shift") } if (((sender.resizeFlags & 0b000100) >> 2)>0){ NSLog("Right Shift") } if (((sender.resizeFlags & 0b001000) >> 3)>0){ NSLog("Left Command") } if (((sender.resizeFlags & 0b010000) >> 4)>0){ NSLog("Right Command") } if (((sender.resizeFlags & 0b100000) >> 5)>0){ NSLog("Option") } if (((sender.resizeFlags & 0b00001000000) >> 6)>0){ NSLog("7") } if (((sender.resizeFlags & 0b00010000000) >> 7)>0){ NSLog("8") } if (((sender.resizeFlags & 0b00100000000) >> 8)>0){ NSLog("capslock") } if (((sender.resizeFlags & 0b01000000000) >> 9)>0){ NSLog("10") } if (((sender.resizeFlags & 0b10000000000) >> 10)>0){ NSLog("11") } if (((sender.resizeFlags & 0b0000100000000000) >> 11)>0){ NSLog("12") } if (((sender.resizeFlags & 0b0001000000000000) >> 12)>0){ NSLog("13") } if (((sender.resizeFlags & 0b0010000000000000) >> 13)>0){ NSLog("14") } if (((sender.resizeFlags & 0b0100000000000000) >> 14)>0){ NSLog("15") } if (((sender.resizeFlags & 0b1000000000000000) >> 15)>0){ NSLog("16") } if (((sender.resizeFlags & 0b00010000000000000000) >> 16)>0){ NSLog("17") } return frameSize }