macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

discardEventsMatchingMask:beforeEvent:

マスクに合うイベントを削除してキューにイベントを追加します
-(void)discardEventsMatchingMask:(NSUInteger)mask:
             beforeEvent:(NSEvent *)lastEvent:

解説

マスクに合うイベントを削除してキューにイベント(lastEvent)を追加します。
【mask】
● NSLeftMouseDownMask
● NSLeftMouseUpMask
● NSRightMouseDownMask
● NSRightMouseUpMask
● NSMouseMovedMask
● NSLeftMouseDraggedMask
● NSRightMouseDraggedMask
● NSMouseEnteredMask
● NSMouseExitedMask
● NSKeyDownMask
● NSKeyUpMask
● NSFlagsChangedMask
● NSPeriodicMask
● NSCursorUpdateMask
● NSAnyEventMask

返り値

( void )

なし

引数

( NSUInteger )mask

マスク

( NSEvent * )lastEvent

イベント

フレームワーク

ApplicationKit

クラス

NSApplication

Instance Methods

使用可能

10.0

参照

- nextEventMatchingMask:untilDate:inMode:dequeue:

例文

#import "Controller.h"

@implementation Controller

- (IBAction)myAction:(id)sender
{
	//イベントを作るNSMakePoint
	
	//乱数、あまり精度はよくない1秒ごとにしか種が変わらない
	int posX,posY;
	srand(time(nil));
	posX = rand() %200;
	posY = rand() %200;

	  
	NSEvent *ev = [NSEvent mouseEventWithType:NSLeftMouseDown			//左マウスダウン
									 location:NSMakePoint(posX,posY)//Window座標で200,200
								modifierFlags: 0x100 //NSCommandKeyMask		//モデファイアキー
									timestamp: 0						//タイムスタンプ
								 windowNumber: [[sender window] windowNumber]
									  context: nil
								  eventNumber: 0.0
								   clickCount: 1
									 pressure: 1.0
				   ];
	
	//イベントキューに追加
	[NSApp discardEventsMatchingMask:NSAnyEventMask beforeEvent:ev];
	
	//NSLog([ev description]);
	//送信
	[NSApp sendEvent:ev];
}

@end