Ich würde zum Ausdrucken eine Kopie erstellen und dann die markierten Einträge entfernen.
Delphi-Quellcode:
Procedure CopyTreeViewUnselectedItems (aSource, aDest : TTreeView);
var
i : Integer;
begin
aDest.items.assign(aSource.Items);
aDest.StateImages := aSource.StateImages;
aDest.Images := aSource.Images;
for i := aDest.Items.Count-1 downto 0 do
if aSource.Items[i].Selected then // Selected wird nicht mitkopiert, daher im Original prüfen
aDest.Items[i].Delete;
end;