「Xamarin.Macでウインドウ座標をビュー座標に変換する」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「Xamarin.MacにおけるMouseDownなどのイベント引数で飛んでくるマウスの座標はウインドウ座標となっている。 しかし、ほと...」)
 
1行目: 1行目:
[[Xamarin.Mac]]におけるMouseDownなどのイベント引数で飛んでくる[[マウス]]の座標はウインドウ座標となっている。
+
[[Xamarin.Mac]]におけるMouseDownなどのイベント引数で飛んでくる[[マウス]]の座標は「ウインドウ座標」となっている。
  
 
しかし、ほとんどの場合、[[マウス]]で[[クリック]]された場所の「ビュー座標」が欲しい。
 
しかし、ほとんどの場合、[[マウス]]で[[クリック]]された場所の「ビュー座標」が欲しい。

2017年6月13日 (火) 02:26時点における版

Xamarin.MacにおけるMouseDownなどのイベント引数で飛んでくるマウスの座標は「ウインドウ座標」となっている。

しかし、ほとんどの場合、マウスクリックされた場所の「ビュー座標」が欲しい。 とくにNSViewを継承したCustomViewを作っている場合はウインドウ座標とか外の世界の話であってそんなものを貰っても困る。 そういうときはウインドウ座標をビュー座標に変換する。

public override void MouseDown(NSEvent theEvent)
{
    var wLocation = theEvent.LocationInWindow;
    var vLocation = ConvertPointFromView(wLocation, null);
}

関連項目

参考文献