Position von Maus in superview

  • Position von Maus in superview

    Hallo,

    folgendes ist vorhanden:

    Ein NSWindow - erzeugt mit dem IB. In dem NSWindow befindet sich ein NSView Subclass. In dem NSView Subclass befindet sich ein Subview, was ein eigenen NSControl mit eigener NSCell ist.

    In dem eigenen NSControl fange ich allerhand Maus-Events ab - so auch mouseDragged. Nun möchte ich in diesem Event die Position der Maus im superview des NSControls herausfinden.

    Nach vielen gescheiterten Versuchen hoffe ich nun auf euch.
    Danke.
    Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.

    Objective-C und Cocoa Band 2: Fortgeschrittene
    Cocoa/Objective-C Seminare von [co coa:ding].
  • RE: Position von Maus in superview

    a) Selbst errechnen:
    Dies ist auch hier ziemlich einfach, da der Control wohl nicht gezoomt sein dürfte (frame.size == bounds.size). Dann addierst du einfach frame.origin auf deine Koordinaten im Control, um die im Superview zu erhalten.

    b) Es gibt auch eine Methode, die die Koordinaten umrechnet. Leider habe ich jetzt keinen Mac zu Hand und kann nicht nachschlagen. Da mailde ich mich noch einmal, wenn bis dahin noch niemand anderes es herausgesucht hat.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • RE: Position von Maus in superview

    Original von Tom9811
    a) Selbst errechnen:
    Dies ist auch hier ziemlich einfach, da der Control wohl nicht gezoomt sein dürfte (frame.size == bounds.size). Dann addierst du einfach frame.origin auf deine Koordinaten im Control, um die im Superview zu erhalten.

    b) Es gibt auch eine Methode, die die Koordinaten umrechnet. Leider habe ich jetzt keinen Mac zu Hand und kann nicht nachschlagen. Da mailde ich mich noch einmal, wenn bis dahin noch niemand anderes es herausgesucht hat.

    [superview convertPoint:point fromView:view] oder [view convertPoint:point toView:superview]

    Die Idee mit dem selberrechnen würde ich lieber gaaanz schnell vergessen. Sobald man den View auf isFlipped umstellt oder dann doch mal zoomt oder gar alles um 90 Grad dreht, hat man sich die ganze Mühe umsonst gemacht.

    -- hns
  • RE: Position von Maus in superview

    Ich glaube, dass Controls nur selten gezoomt sind, weshalb ich auch darauf hinweis:
    ... da der Control wohl nicht gezoomt sein dürfte ...


    Gedrehte Controls hat man immerhin manchmal.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?