Forum: Sonstige Fragen zu Delphi
Prism
by JasonDX,
5. Jan 2006
Das Paint-Ereignis wird oft ausgelöst, und das kannst du nicht einschränken, stimmt. Deshalb musst du auch einschränken, wann die PictureBox gedreht wird. Wie? Du legst dir ne zusätzliche Variable an, sowas wie DiePictureBoxDieIchDrehenMuss oder so...
Im Maus_rein-ereignis setzt du die Variable auf den inhalt von 'sender'. Darin steht ja jene Picturebox, über dem sich die Maus befindet, also...
Forum: Sonstige Fragen zu Delphi
Prism
by JasonDX,
5. Jan 2006
Das mit dem Sender passt schon alles ;)
bloß:
Wenn die Maus auf eine PictureBox gesetzt wird, zeichnest du das ganze Form neu (durch das Refresh). Dadurch werden auch die PictureBoxes neu gezeichnet, d.h. es wird Grafik(...) für jede PictureBox aufgerufen. Dort wird somit auch jede PictureBox gedreht gezeichnet. Deswegen drehen sich beide, wenn du mit der Maus über eine fährst.
mögliche Lösung...
Forum: Sonstige Fragen zu Delphi
Prism
by JasonDX,
4. Jan 2006
Hallo
Bei deinem Problem gibts gibt 2 Möglichkeiten:
Du bist sicher, dass der Parameter, der mitkommt, ein PaintEventArg ist, und es genügt ein Typecast: Einfach PaintEventArgs(e) mitgeben.
Im Fall noch mit der Abfrage davor:
if (e is PaintEventArg) then
grafik_maus(sender, PaintEventArgs(e))
else
MessageBox.Show('Autsch - keine PaintEventArgs');