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

ページの作成:「Xamarin.MacにおけるMouseDownなどのイベント引数で飛んでくるマウスの座標はウインドウ座標となっている。 しかし、ほと...」
 
imported>Administrator
 
(他の1人の利用者による、間の2版が非表示)
1行目: 1行目:
[[Xamarin.Mac]]におけるMouseDownなどのイベント引数で飛んでくる[[マウス]]の座標はウインドウ座標となっている。
[[Xamarin.Mac]]におけるMouseDownなどのイベント引数で飛んでくる[[マウス]]の座標は「ウインドウ座標」となっている。


しかし、ほとんどの場合、[[マウス]]で[[クリック]]された場所の「ビュー座標」が欲しい。
しかし、ほとんどの場合、[[マウス]]で[[クリック]]された場所の「ビュー座標」が欲しい。
6行目: 6行目:


<source lang="csharp">
<source lang="csharp">
public override void MouseDown(NSEvent theEvent)
public class CustomView : NSView
{
{
     var wLocation = theEvent.LocationInWindow;
     public override void MouseDown(NSEvent theEvent)
    var vLocation = ConvertPointFromView(wLocation, null);
    {
        // これウインドウ座標
        var wLocation = theEvent.LocationInWindow;
       
        // ビュー座標に変換
        // 似たような名前のメソッドがいっぱいあるので注意。
        var vLocation = this.ConvertPointFromView(wLocation, aView:null);
    }
}
}
</source>
</source>