Hallo,
ich erstelle mir zur Laufzeit ein Pagecontrol mit n-Tabsheets, auf denen jeweils ein Richedit sitzt. Nun möchte ich über einen Button den kompletten Inhalt bzw. die markierten Zeilen des gewählten Richedits drucken. Ich denke, dass ich dazu an den Namen des Richedits herankommen müsste, welches gerade aktiv ist. Habe auch schon ein wenig mit ActiveControl probiert, aber da wird mir dann immer der Drucken-Button angezeigt. Hat jemand eine Idee wie ich das Problem angehen könnte? Wäre sehr dankbar für Anregungen.
So wird das TabControl mit den Tabsheets erstellt:
Delphi-Quellcode:
testStands.Sort;
s:=testStands.Count;
PageControl1 := TPageControl.Create(Self);
PageControl1.Parent := Self;
PageControl1.Left:=104;
PageControl1.Top:=320;
PageControl1.Width:=513;
PageControl1.Height:=257;
for r := 1 to s do
begin
TabSheet := TTabSheet.Create(PageControl1);
with TabSheet do
begin
PageControl := PageControl1;
Name := 'ts' + IntToStr(r);
Caption := testStands[r-1];
RichEdit := TRichEdit.Create(TabSheet);
RichEdit.Name:='re'+IntToStr(r);
RichEdit.Parent := TabSheet;
Richedit.Align := alClient;
RichEdit.WordWrap:=false;
RichEdit.ScrollBars:=ssBoth;
Richedit.Lines.LoadFromFile(appPath+testStands[r-1]+'.tmp');
end;
end;
Und so will ich drucken:
Delphi-Quellcode:
procedure TForm1.ButtonDruckenClick(Sender: TObject);
begin
if (RichEdit1.Lines.Count>0) then
begin
if PrinterSetupDialog1.Execute then
RichEdit1.Print('Einträge');
end
else
showmessage('Keine Einträge gefunden!');
end;