nextEventMatchingMask:untilDate:inMode:dequeue:
指定したイベントが来るまでアプリケーションを待たせます
-(NSEvent *)nextEventMatchingMask:(unsigned int)mask: untilDate:(NSDate *)expirationDate: inMode:(NSString *)mode: dequeue:(BOOL)dequeue:
解説
指定したイベントが来るまでアプリケーションを待たせます。
グローバルNSApplicationオブジェクト(NSApp)にメッセージ全体を転送します。
メソッドの詳細はNSAplicationの nextEventMatchingMask:untilDate:inMode:dequeue: を見てください。
イベントが来なくても、指定した時間が来れば次へ進みます。
【mask】
● NSLeftMouseDownMask 左のマウスボタンを押した。
● NSLeftMouseUpMask 左のマウスボタンを離した
● NSRightMouseDownMask 右のマウスボタンを押した
● NSRightMouseUpMask 右のマウスボタンを離した
● NSMouseMovedMask マウスを動かした
● NSLeftMouseDraggedMask 左のマウスボタンでドラッグした
● NSRightMouseDraggedMask 右のマウスボタンでドラッグした
● NSMouseEnteredMask マウスが領域に入った
● NSMouseExitedMask マウスが領域から出た
● NSKeyDownMask キーを押した
● NSKeyUpMask キーを話した
● NSFlagsChangedMask
● NSAppKitDefinedMask
● NSSystemDefinedMask
● NSApplicationDefinedMask
● NSPeriodicMask
● NSCursorUpdateMask
● NSScrollWheelMask
● NSOtherMouseDownMask 他のマウスボタンを押した
● NSOtherMouseUpMask 他のマウスボタンを離した
● NSOtherMouseDraggedMask 他のマウスボタンでドラッグした
● NSAnyEventMask
【mode】
● NSModalPanelRunLoopMode
● NSEventTrackingRunLoopMode
返り値
( NSEvent * )
イベント
引数
( unsigned int )mask
マスク
( NSDate * )expirationDate
待たせる時刻
( NSString * )mode
モード
( BOOL )dequeue
以前のイベントをキューから外すか
フレームワーク
ApplicationKit
クラス
NSWindow
Instance Methods
使用可能
10.0
参照
例文
#import "Controller.h" @implementation Controller - (IBAction)pushButton:(id)sender { NSEvent *theEvent; NSDate *theDate; theDate = [NSDate dateWithTimeIntervalSinceNow:10]; //10秒後 theEvent = [myWindow nextEventMatchingMask:(NSLeftMouseDraggedMask | NSLeftMouseUpMask) untilDate:theDate inMode:NSEventTrackingRunLoopMode dequeue:NO ]; NSLog(@"end"); } @end