Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.690 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Nur ausgewählte Einträge einer Listview drucken

  Alt 30. Sep 2018, 16:47
Deine fehlende formatierung macht mir das lesen auf die schnelle unmöglich aber hier ein Beispiel für alles, änder das "alle" halt mit einer "nur diese" variante.
Delphi-Quellcode:
Uses Printers;

procedure PrintLVSelection(const LV: TListView);
Var
 LineHeight,i,j,Y,X:Integer;
begin
 With Printer do
  begin
   BeginDoc;
   LineHeight:=Round(Canvas.TextHeight('H')*1.2);
   Y:=0;
   for i:=0 to lv.Items.Count-1 do
   if lv.Items[i].Selected then
    begin
     If Y+LineHeight>PageHeight Then
      begin
       NewPage;
       Y:=0;
      end;
// Canvas.TextOut(0,Y,lv1.Items[i].Caption);
       With lv.Items[i] do
        begin
          X:=0;
          Canvas.TextOut(X*PageWidth Div lv1.Width,Y,Caption);   
          for j:=0 to SubItems.Count-1 do
           begin
             X:=X+Columns[j].Width;
             Canvas.TextOut(X*PageWidth Div lv1.Width,Y,Caption);
           end;
        end;
     Y:=Y+LineHeight;
    end;
   EndDoc;
  end;
end;
edit
hab noch ne "ists markiert" abfrage rangehangen, sollte theoretisch funktionieren, auch subitems sind nun drinnen.
Gruß vom KodeZwerg

Geändert von KodeZwerg (30. Sep 2018 um 17:15 Uhr)
  Mit Zitat antworten Zitat