Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#6

AW: OnLeave Ereignis/Prozedur wird am falschen Objekt ausgeführt

  Alt 31. Mai 2012, 20:30
Du meinst ich soll ...
Jupp, also wenn du jedes Bild einzeln überwachen willst.

Ansonsten könntest du eben ein größeres Bild nehmen, oder eben alle Einzel-TImages als eine gemeinsame große Komponente betrachten.
Dieses große wird dann in logische Einheiten unterteils und du müßtest neben dem OnLeave (nach außen) selbst nochmal das OnLeave intern auslösen, wenn dein Code erkennt, daß die Maus von einer logischen Zelle in eine andere wechselt.


So, du hast ja vergessen zu sagen wie du es nun bisher implementiert hast,
aber du könntest dir erstmal zu jedem Image merken, ob die Maus darin ist.

Im großen OnExit werden alle diese Variablen zurückgesetzt und dort wo was gesetzt war, wird dabei das OnExit des/der entsprechenden Images aufgerufen.
Im OnMouseMove wird nun geprüft, ob die Maus über den Images ist.
- wenn ja, dann
- - war Variable des entsprechenden Images schon True? => mache nichts
- - war Variable False, dann sezte auf True und rufe eventuell ein OnEnter auf (falls es das gibt)
- wenn nein, dann
- - ist Variable schon False, dann laß es so
- - ist Variable True, dann sezte sie auf False und rufe dein ein OnExit auf


Ansonsten:

Irgendwo in der DP findest du bestimmt, wie man auf ein Panel zeichnet.
Man könnte notfalls auch einfach eine TPaintBox mit alClient im Panel erstellen.
Praktisch genauso wie das TImage, wobei die TPaintBox eigentlich nur dafür da ist, um ein Canvas zu bekommen, falls man den anderen Weg (selber ein Canvas erstellen und verbinden) nicht gewollt ist. Oder man nicht direkt über einen selbst erstellten DeviceContext (DC) zeichnen will.
Wie man Komtonenten programmiert findet man bestimmt auch hier irgendwo.
Und wie man im Constructor der Komponente zur Laufzeit weitere Komponenten erstellt und in dem Panel anzeigt, wird man bestimmt auch finden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat