![]() |
Re: Linklabel in einem Stringgrid - Idee gesucht
@marabu:
Man müsste dann noch für den Hover-Text wieder die X und Y-Position für Canvas.TextOut ermitteln. Da kann man ja nicht einfach die Mouse-Position nehmen, die ändert sich ja ständig und bleibt nicht immer genau in der linken Ecke der Zelle :wink: Bei meinem Code ist das schon mit drin :P Gruß, Martin |
Re: Linklabel in einem Stringgrid - Idee gesucht
@marabu
Siehst du, war doch zu einfach! Du bräuchtest nämlich jetzt eine Funktion, die dir zu iCol und iRow das passende "CellRect" liefert. Gruß Hawkeye |
Re: Linklabel in einem Stringgrid - Idee gesucht
Verflixt - habe immer gedacht, das wäre genau der Parameter Rect im Ereignis OnDrawCell().
marabu *zerknirscht ist* |
Re: Linklabel in einem Stringgrid - Idee gesucht
Huch, da ist mir aber Arbeit abgenommen worden... vor allenm das Nachdenken ;)
Das schöne ist es Hovert schon mal, für den Rest muss ich mir noch was Einfallen lassen, weil die Zeilen unterschiedliche Farben haben... Ein dickes THX. :thumb: |
Re: Linklabel in einem Stringgrid - Idee gesucht
Nur für den Fall, dass jemand unabhängig von der Zelldimensionierung sein möchte - hier noch der Ansatz, auf den ich euch stoßen wollte:
Delphi-Quellcode:
Gute Nacht vom marabu
procedure TDemoForm.SGDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); var iCol, iRow: Integer; p: TPoint; begin with Sender as TStringGrid do begin DoubleBuffered := true; // hier nur als Hinweis p := ScreenToClient(Mouse.CursorPos); MouseToCell(p.X, p.Y, iCol, iRow); if (iCol = ACol) and (iRow = ARow) then begin if gdSelected in State then Canvas.Font.Color := clHighlightText else Canvas.Font.Color := clHighlight; Canvas.Font.Style := Canvas.Font.Style + [fsUnderline]; end; Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, Cells[ACol, ARow]); end; end; procedure TDemoForm.SGMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin SG.Invalidate; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz