Einzelnen Beitrag anzeigen

Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#16

Re: ein OnHover nachbauen / benutzen

  Alt 25. Sep 2009, 01:42
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.
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat