Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#14

AW: ListView mit PasswordChar

  Alt 14. Sep 2013, 16:13
Ohne es zu testen würde ich vermuten, dass es an der Zeile DefaultDraw := false liegt. Das muss dann bei den anderen Spalten wieder auf true gesetzt werden wenn ich mich nicht täusche.
Erstmal Danke für die Antwort. Wenn ich das richtig verstanden habe, hätte dann folgender Code das Problem beseitigen müssen:
Delphi-Quellcode:
Procedure ...
Var
   tmpRect : TRect;
   iWidth, i : Integer;
   tmpTextOut : String;
Begin
   If (SubItem = 2) Then
   Begin
      tmpRect:=Item.DisplayRect(drBounds);
      If (cdsFocused In State) And (cdsSelected In State) Then
      Begin
         Sender.Canvas.Brush.Color := clBlue;
         Sender.Canvas.Font.Color := clWhite;
      End;

      iWidth:=0;
      For I:=0 To Pred(SubItem) Do Inc(iWidth, Sender.Column[I].Width);
      tmpTextOut:=StringOfChar('*', Length(Item.SubItems[Pred(SubItem)]));
      Sender.Canvas.TextOut(tmpRect.Left + iWidth + 1, tmpRect.Top, tmpTextOut);
   End;
   DefaultDraw:=(SubItem <> 2); // CustomDraw in Abhängigkeit von der Spalte setzen...
   // Wie empfohlen also alle außer Spalte 2 auf True gesetzt.
End;
Leider bringt das (noch) nicht das gewünschte Ergebnis.

Gruß, Alex
Alex Winzer
  Mit Zitat antworten Zitat