Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: HeaderControl.parent := Listbox

  Alt 31. Jul 2005, 22:31
die Markierung musst du dann auch selbst mit malen. Ob ein Item Selectiert ist findest du mit dem State parameter heraus.
Delphi-Quellcode:
procedure TForm1.ListView1AdvancedCustomDrawSubItem(
  Sender: TCustomListView; Item: TListItem; SubItem: Integer;
  State: TCustomDrawState; Stage: TCustomDrawStage;
  var DefaultDraw: Boolean);
var LRect: TRect;
begin
  if (SubItem = 1) then
  begin
    DefaultDraw := False;
    if cdsSelected in State then //wenn Item selektiert=Hintergrund farbig
      Sender.Canvas.Brush.Color := clHighlight
    else //ansonsten hintergrundfarbe des Listviews verwenden
      Sender.Canvas.Brush.Color := TListView(Sender).Color;
    LRect := Item.DisplayRect(drBounds);
    LRect.Right := Min(Sender.Column[0].Width + Sender.Column[1].Width, LRect.Right);
    LRect.Left := Min(Sender.Column[0].Width, LRect.Right);
    Sender.Canvas.FillRect(LRect);
  end else
    DefaultDraw := True;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat