Farbe an Mausposition erkennen ?



  • Hallo (mal wieder),...

    Ich habe das folgende Problem:

    Ich habe mit Canvas folgendes gezeichnet:
    (Der Hintergrund hat die Farbe clSiler)

    Canvas->Pen->Color = clGray;
    Canvas->Brush->Color = clGray;
    Canvas->Pie(xlinks+60,yoben+60,xrechts-60,yunten-60, x3, y3, x4, y4);
    

    Nun möchte ich, dass das Programm jedes mal, wenn mit der Maus über das gemalte gefahren wird, eine bestimmte Aktion ausführt, beispielsweise eine Value eines Labels ändert oder ähnliches.

    Als Lösung hatte ich mir gedacht, dass ich mir anzeigen lasse, wo die Maus steht und dann an der Mausposition die Farbe feststelle. Wenn die Farbe dann Grau statt Silber ist, befindet sich die Maus über dem gezeichneten Element und ich kann daraufhin andere Funktionen auslösen.

    Gibt es einen Befehl, der mir die Farbe an einem bestimmten Punkt übergibt?
    Falls nicht, kann man das vielleicht auch schlauer oder einfacher Lösen?

    Danke im vorraus für eure Hilfe!

    Jannis Kühl



  • TCanvas::Pixels



  • Dort muss ich dann wahrscheinlin Klammern die X und Y Koordinate angeben... ?



  • Schau doch in die BCB-Hilfe.. dort gibts sogar ein Beispiel dazu



  • Habdas mal ausprobiert. Der Compiler sagt mir, dass ich eine klasse oder eine angeben soll, in der das gezeichnet wurde. geht das auch ohne oder muss ich jetzt meine ganzen zeichnungen in eine Klasse oder eine Struktur packen, damit das funktioniert ?

    Und wenn ich das schon in eine struktur packen muss, rufe ich das dann hiermit richtig auf?:

    zeichnen::TCanvas::Pixels[10,10]

    ("zeichnen" wäre meine klasse ?!?)



  • oh, nicht gesehen, schuldige *schäm*


Anmelden zum Antworten