Thema: Prism EventArgs

Einzelnen Beitrag anzeigen

Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#8

Re: EventArgs

  Alt 5. Jan 2006, 12:02
Zitat von gordon2001:
hm... ja aber dabei ist ja das problem das das paint ereigniss andauert von selbst ausgelöst wird ich kan ja nicht bestimmen wann! oder hab ich dich falsch verstanden?
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 jene, die sich drehen soll.
und im Maus_raus-Ereignis setzt du sie auf null.
Jetzt musst du in der Grafik-Methode noch abfragen: zeichnest du grad die PictureBox, die gedreht werden soll (Die steht übrigens im 'sender' ): ja? dreh sie. nein? dreh sie nich...
in Quellcode ausgedrückt siehts noch einfacher aus:
Delphi-Quellcode:
type
  twinform = class(...)
    //irgendwo, ws unter Private:
    DiePictureBoxDieIchDrehenMuss: System.Object;
  end;




procedure twinform.maus_rein(sender: System.Object; e: System.EventArgs);
begin
  DiePictureBoxDieIchDrehenMuss := sender;
//...
end;

//im twinform.maus_raus die Var auf null setzen überlass ich dir ;)

procedure twinform.grafik(sender: System.Object; e: System.Windows.Forms.PaintEventArgs);
//...
  if DiePictureBoxDieIchDrehenMuss = sender then
  begin
    //so, hier kommt der Code rein, den du brauchst, um die PictureBox gedreht zu zeichnen
  end;
//...
greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat