So das hier ist das bisherige Final des Hovers
Delphi-Quellcode:
procedure TUserlist.TimerTimer(Sender: TObject);
var
APoint: TPoint;
AControl: TControl;
SControl: TControl;
begin
FTimer.Enabled := False;
APoint := FBaseFrame.ScreentoClient(Mouse.CursorPos);
AControl := FBaseFrame.ControlatPos(Apoint, True, True);
if Assigned(AControl) then begin
if AControl is TFrame then begin
SControl := TWincontrol(AControl).ControlAtPos(AControl.ScreenToClient(mouse.CursorPos), False, True);
if Assigned(SControl) then begin
if SControl is TPanel then begin
if Assigned(LastControl) then begin
if LastControl <> SControl then
TPanel(LastControl).ParentColor := True;
end;
TPanel(SControl).Color := HoverColor;
LastControl := SControl;
end;
end;
end
else if Assigned(LastControl) then begin
TPanel(LastControl).ParentColor := True;
end;
end
else if Assigned(LastControl) then begin
TPanel(LastControl).ParentColor := True;
end;
FTimer.Enabled := True;
end;
LastControl ist vom Typ TControl und im Private der TUserliste deklariert.
Für Optimierungen bin ich offen
Wußte nicht das es doch recht schwer ist eine schöne Benutzerliste für einen Chat zu erstellen...
Ebenfalls wird in dieser Form auch das "Hint" dann ablaufen.