Einzelnen Beitrag anzeigen

Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
460 Beiträge
 
Delphi XE4 Professional
 
#1

Problem: Panel.OnMouseLeave wenn Chldcomponente bemaust wird

  Alt 29. Apr 2013, 16:28
Hallo Leute,

hab mal wieder eine Basisfrage

Auf vielen Panels ist jeweils ein Editfeld..

Die Panel´s besitzt:
Delphi-Quellcode:
procedure TMainForm.PanelMouseEnter(Sender: TObject);
begin
(sender as Tpanel).Color:=clgray;
end;

procedure TMainForm.PanelMouseLeave(Sender: TObject);
begin
(sender as Tpanel).Color:=clsilver;
end;
Die Editfelder mit "Parent= Panel XY" besitzen keine Ereignisse..

Wenn ich nun mit der Maus über die Panels fahre, wird die Farbe wie gewünscht geändert.
Wenn ich aber über die Editfelder fahre, blinkt das darunterliegende Panel kurz clsilver auf, und schaltet dann wieder auf clGray ..

Ich vermute, weil der Event "onMouseleave" vom Panel gesendet wird, wenn die Mausspitze aus dem Bereich "Panelfläche" in den bereich "editfläche" wechselt - aber gleich wieder umschaltet, weil das edit dem panel meldet, das die maus über ihm ist... ?

Wie kann ich dieses "Blinkverhalten" unterbinden?

Vielen Dank
Erich
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \
  Mit Zitat antworten Zitat