ページ

2008年3月3日月曜日

透明ウィンドウの透明部分でマウスイベントを拾う

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

透明ウィンドウを作った場合、その上のビューの透明部分はクリックや移動などのマウスイベントを拾うことができない。そこで NSWindow#setIgnoresMouseEvents: を使う。

例:
[window setIgnoresMouseEvents:NO];


こうすると透明部分でも mouseDown: や mouseMoved: が呼ばれるようになる。

参考サイト:
Re: How does a fully transparent window receive mouse event?

ADC NSWindow
NSWindow:setIgnoresMouseEvents: