Delphi-Quellcode:
procedure TForm1.bitbtnDruckenClick(Sender: TObject);
var
iChecked, iZaehler, iGecheckteFrames, iY, iRunter, iErstellteFrames, i: Integer;
begin
Formular:=TForm.Create(Self);
Formular.ClientHeight := 1500;
Formular.ClientWidth := 670;
l:=TComponentList.Create;
L.OwnsObjects:= False;
iGecheckteFrames := 0;
iErstellteFrames := 0;
iY := 0;
iRunter := 0;
iZaehler := 0;
for ichecked := 0 to CheckListBox1.Items.Count-1 do
if CheckListBox1.Checked[ichecked] then
begin
case iZaehler of
0..9:
begin
Frames := TFrame4.Create(Self);
L.Add(Frames);
Frames.ClientHeight := 200;
Frames.Name:='';
iZaehler := iZaehler + 1;
iGecheckteframes := iGecheckteframes + 1;
Frames.Parent := Formular;
end;
end;
case iZaehler of
10:
begin
for I := l.Count -1 downto 0 do
begin
Frames:= (L[i] as TFrame4);
Frames.Free;
iZaehler := 0;
end;
begin
if iGecheckteFrames = 13 then
ShowMessage('Formular in Zwischenablage kopieren + Formular leeren');
end;
end;
0:
begin
Frames.Top := iY;
if iGecheckteFrames = 13 then
ShowMessage('Zwischenablage drucken + aktuelle Form leeren');
end;
2..5:
begin
Frames.Top := iY + Frames.ClientHeight;
iY := Frames.Top;
Frames.Parent := Formular;
if iGecheckteFrames = 13 then
begin
ShowMessage('Zwischenablage drucken + aktuelle Form drucken');
end;
end;
6:
begin
Frames.ClientHeight := 200;
Frames.Name:='';
Frames.Left := 350;
end;
7..9:
begin
Frames.Left := 350;
Frames.Top := iRunter + Frames.ClientHeight;
iRunter:= Frames.Top;
if iGecheckteFrames = 13 then
begin
ShowMessage('Zwischenablage drucken + aktuelle Form drucken');
end;
end;
end;
Formular.Show;
end;
end;
So hoffe mal jetzte siehts alles bisschen übersichtlicher aus.