Position eines Clicks in einem ImageView abfragen??

Diskutiere das Thema Position eines Clicks in einem ImageView abfragen?? im Forum Mac OS Entwickler, Programmierer

  1. mac_in_tosh

    mac_in_tosh Thread Starter Mitglied

    Beiträge:
    217
    Zustimmungen:
    0
    Mitglied seit:
    20.05.2007
    Hallo zusammen,
    ich möchte, dass bei einem Click in ein View einen Punkt an der gecklickten Stelle macht. Ich stelle mir das etwa so vor:

    if(click innerhalb View){
    x=clickposition;
    makepoint x;
    }

    Am liebsten wäre mir natürlich,wenn dies in AppleScript Studio ginge, da ich aber nicht davon Ausgehe habe ich das hier gepostet. Wenn es tatsächlich in Applescript möglich wäre, wäre ich froh, wenn man den Thread ins AS-Forum verschieben könnte.
    Vielen Dank für eure Hilfe!!
     
  2. below

    below Mitglied

    Beiträge:
    13.504
    Zustimmungen:
    1.087
    Mitglied seit:
    15.03.2004
    Was für ein View? In welcher Sprache/Framework soll das realisiert werden?

    Oder gibt es noch gar nichts von diesem Projekt?

    Alex
     
  3. mac_in_tosh

    mac_in_tosh Thread Starter Mitglied

    Beiträge:
    217
    Zustimmungen:
    0
    Mitglied seit:
    20.05.2007
    Es gibt noch gar nichts von diesem Projekt. Ich möchte es jedoch in Objective-C machen in Xcode mit einem ImageView, weil ich ein Bild als Hintergrund nehmen will.
     
  4. below

    below Mitglied

    Beiträge:
    13.504
    Zustimmungen:
    1.087
    Mitglied seit:
    15.03.2004
    Mach eine Subclass von KIImageView oder NSImageView, und überschreib - (void)mouseDown:(NSEvent *)theEvent.

    Fertig.

    Alex
     
  5. mac_in_tosh

    mac_in_tosh Thread Starter Mitglied

    Beiträge:
    217
    Zustimmungen:
    0
    Mitglied seit:
    20.05.2007
    Ähm, ich bin leider ziemlicher Anfänger. Es tut mir wirklich leid, wenn ich dich nun belästige, aber könntest du mir das vielleicht etwas ausführlich erklären??
    Und ausserdem muss ich die Methode doch noch definieren.
    Wäre sehr dankbar!!
     
  6. below

    below Mitglied

    Beiträge:
    13.504
    Zustimmungen:
    1.087
    Mitglied seit:
    15.03.2004
    Sorry, nein, echt nicht. Da muss ich auf die übliche Literatur verweisen.

    Und Du musst die Methode natürlich nicht definieren, da Du sie ja von der Superclass erbst.

    Alex
     
  7. mac_in_tosh

    mac_in_tosh Thread Starter Mitglied

    Beiträge:
    217
    Zustimmungen:
    0
    Mitglied seit:
    20.05.2007
    Hm. nun, es hat mich zwar nicht wirklich weiter gebracht, aber trotzdem vielen Dank.
     
  8. below

    below Mitglied

    Beiträge:
    13.504
    Zustimmungen:
    1.087
    Mitglied seit:
    15.03.2004
    Wenn Du mehr konkrete Fragen stellst, helfe ich sehr gerne. Dir aber jetzt Cocoa bzw. objektorientierte Programmierung beizubringen sprengt diesen Thread.

    Aber wie immer mache ich einen Deal: Du räumst mein Büro auf, dann gebe ich Privatunterricht.

    Alex
     
  9. mac_in_tosh

    mac_in_tosh Thread Starter Mitglied

    Beiträge:
    217
    Zustimmungen:
    0
    Mitglied seit:
    20.05.2007
    Nun, ich habe die Zeile, die du mir genannt hast in die Header Datei der Erstellten Klasse geschrieben. Wo kann ich denn nun hinschreiben, was passiert, wenn ich clicke??
     
  10. below

    below Mitglied

    Beiträge:
    13.504
    Zustimmungen:
    1.087
    Mitglied seit:
    15.03.2004
    :Oldno:

    Du musst das Konzept des Subclassing verstehen!

    1. Machst Du eine Subclass von der Klasse, die Du ändern willst.

    @interface MySuperDuperView : NSImageView
    {
    ...
    }
    ...
    @end

    DANN überschreibst Du in der IMPLEMENTATION die Methode:

    @implementation MySuperDuperView
    - (void)mouseDown:(NSEvent *)theEvent
    {
    ...
    }
    @end

    Welche Bücher hast Du, Hillegass oder Negm-Awad/Rodewig?

    Alex
     
Die Seite wird geladen...

MacUser.de weiterempfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Akzeptieren Weitere Informationen...