Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.088 Beiträge
 
Delphi 12 Athens
 
#9

Re: ListView mit PasswordChar

  Alt 9. Mai 2008, 00:54
3. Spalte mit "*"

Anzahl der "*" = Length(SubItemText)

Delphi-Quellcode:
// ListView1.OnCustomDrawSubItem
procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView;
  Item: TListItem; SubItem: Integer; State: TCustomDrawState;
  var DefaultDraw: Boolean);
var
  tmpRect : TRect;
  iWidth, i : Integer;
  tmpTextOut : String;
begin
  if SubItem <> 2 then exit;

  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 SubItem - 1 do
    Inc(iWidth, Sender.Column[i].Width);

  tmpTextOut := StringOfChar('*', Length(Item.SubItems[SubItem - 1]));

  Sender.Canvas.TextOut(tmpRect.Left + iWidth + 5, tmpRect.Top, tmpTextOut);

  DefaultDraw := False;
end;
dafür muß nichtmal der Text wo anders gespeichert werden, da nur die Anzeige manipuliert wird.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat