|
| PrintPreview vis indholdet i Image1? Fra : Monie Jacobsen |
Dato : 26-07-02 13:00 |
|
Hej
Er der nogen der kan hjælpe mig med, at få nedstående PrintPreview til,
at vise hvad Image1, måtte indholder?
procedure TFormPrintPreview.FormCreate(Sender : TObject);
begin
cbZoom.ItemIndex := 0;
mcmPrintPreview1.ZoomToFit;
tbFirstPage.Enabled := False;
tbPreviousPage.Enabled := False;
tbNextPage.Enabled := (mcmPrinter.PageCount > 1);
tbLastPage.Enabled := (mcmPrinter.PageCount > 1);
StatusBar.SimpleText := 'Page ' + IntToStr(mcmPrintPreview1.PageIndex) +
' of ' + IntToStr(mcmPrinter.PageCount);
end;
procedure TFormPrintPreview.tbCloseClick(Sender : TObject);
begin
Close;
end; // TFormPrintPreview.tbCloseClick.
procedure TFormPrintPreview.tbFirstPageClick(Sender: TObject);
begin
mcmPrintPreview1.PageIndex := 1;
tbFirstPage.Enabled := False;
tbPreviousPage.Enabled := False;
tbNextPage.Enabled := (mcmPrinter.PageCount > 1);
tbLastPage.Enabled := (mcmPrinter.PageCount > 1);
end;
procedure TFormPrintPreview.tbPreviousPageClick(Sender: TObject);
begin
if (mcmPrintPreview1.PageIndex > 1)
then begin
mcmPrintPreview1.PageIndex := mcmPrintPreview1.PageIndex - 1;
tbNextPage.Enabled := True;
tbLastPage.Enabled := True;
if (mcmPrintPreview1.PageIndex = 1)
then begin
tbFirstPage.Enabled := False;
tbPreviousPage.Enabled := False;
end;
end;
StatusBar.SimpleText := 'Page ' + IntToStr(mcmPrintPreview1.PageIndex) +
' of ' + IntToStr(mcmPrinter.PageCount);
end;
procedure TFormPrintPreview.tbNextPageClick(Sender: TObject);
begin
if (mcmPrintPreview1.PageIndex <= mcmPrinter.PageCount)
then begin
mcmPrintPreview1.PageIndex := mcmPrintPreview1.PageIndex + 1;
tbFirstPage.Enabled := True;
tbPreviousPage.Enabled := True;
if (mcmPrintPreview1.PageIndex = mcmPrinter.PageCount)
then begin
tbNextPage.Enabled := False;
tbLastPage.Enabled := False;
end;
end;
StatusBar.SimpleText := 'Page ' + IntToStr(mcmPrintPreview1.PageIndex) +
' of ' + IntToStr(mcmPrinter.PageCount);
end;
procedure TFormPrintPreview.tbLastPageClick(Sender: TObject);
begin
mcmPrintPreview1.PageIndex := mcmPrinter.PageCount;
tbFirstPage.Enabled := (mcmPrintPreview1.PageIndex > 1);
tbPreviousPage.Enabled := (mcmPrintPreview1.PageIndex > 1);
tbNextPage.Enabled := False;
tbLastPage.Enabled := False;
StatusBar.SimpleText := 'Page ' + IntToStr(mcmPrintPreview1.PageIndex) +
' of ' + IntToStr(mcmPrinter.PageCount);
end;
procedure TFormPrintPreview.tbPrintClick(Sender: TObject);
begin
if (mcmPrinter.PageCount > 0)
then mcmPrinter.Print;
end;
procedure TFormPrintPreview.tbSetupPrinterClick(Sender: TObject);
begin
if PrinterSetupDialog.Execute
then mcmPrinter.RefreshProperties;
InvalidateRect(Handle, Nil, True);
end;
procedure TFormPrintPreview.PrinterSetupDialogClose(Sender: TObject);
begin
// mcmPrinter.
end;
procedure TFormPrintPreview.mcmPrinterNewPage(Sender : TObject);
begin
tbNextPage.Enabled := (mcmPrinter.PageCount > 1);
tbLastPage.Enabled := (mcmPrinter.PageCount > 1);
StatusBar.SimpleText := 'Page ' + IntToStr(mcmPrintPreview1.PageIndex) +
' of ' + IntToStr(mcmPrinter.PageCount);
end;
procedure TFormPrintPreview.tbCentreClick(Sender : TObject);
begin
mcmPrinter.ImageCenter := tbCentre.Down;
end;
procedure TFormPrintPreview.tbFitToPageClick(Sender : TObject);
begin
mcmPrinter.ImageFitToPage := tbFitToPage.Down;
end;
procedure TFormPrintPreview.seScaleImageChange(Sender : TObject);
begin
try
if (seScaleImage.Text <> '')
then mcmPrinter.ImageScale := seScaleImage.Value;
except
end;
end;
{$IFDEF MCMDELPHI3}
{$UNDEF MCMDELPHI3}
{$ENDIF}
end.
På forhånden mange tak.
Har prøve adskillige muligheder, men er ikke så smart til dette!
MVH
Monie
| |
Klaus Petersen (31-07-2002)
| Kommentar Fra : Klaus Petersen |
Dato : 31-07-02 15:52 |
|
Jeg vil lige kommentere din problemstilling. Det er ikke et egentlig svar -
det er jeg nødt til at vente lidt med at give dig. Det er ikke særligt let
at udskrive dine vingeprofiler - udskrivning generelt af grafik og ligende
har jeg altid syntes var lidt besværligt / svært i delphi.
Udfra de erfaringer jeg har fået ved at arbejde med lignende ting, kan jeg
fortælle dig, at du nok får brug for at kigge lidt ind i noget der hedder
"Postscripting". Det er et skript-sprog, som en postscript (kompatibel)
printer kan forstå og hvis jeg ikke husker helt forkert, indeholder sproget
også "kommandoer" til at tegne linje m.m.
Jeg skal tilfældigvis selv til at i gang med noget udskrivning i delphi - så
jeg kommer til at skulle sætte mig ind i PS. Så kunne jeg vil samme
lejlighed lige lave et lille demo program, som du kan kigge lidt på - evt.
også nogle gode links.
De vigtigste fordele ved at bruge postscript fremfor udskrivning af bitmap
billeder i dit (og mit) tilfælde er
1) Printeren skal ikke bruge så meget hukommelse til udskrivningen - meget
aktuelt for min egen printer, da den ikke har voldsom meget hukommelse.
2) Kvaliteten bliver meget bedre, da billedet tegnes efter printerens (høje)
DPI (Dots Per Inch) fremfor skærmens (lave) PPI (Pixels Per Inch).
| |
Klaus Petersen (31-07-2002)
| Kommentar Fra : Klaus Petersen |
Dato : 31-07-02 21:18 |
|
Jeg må så erkende, at det er langt fra alle printere, der understøtter
postscript. Min egen printer gjorde f.eks. ikke, så alle mine tests fejlede,
selvom programmet blev færdigt og fungerede.
| |
Monie Jacobsen (02-08-2002)
| Kommentar Fra : Monie Jacobsen |
Dato : 02-08-02 01:00 |
|
Hej Klaus
Det er fint du vil kikke på problemet!
Selv arbejder jeg på, at finde en god måde, at kunne print et Image billede
ud.
"Klaus Petersen" <spektual@hotmail.com> skrev i en meddelelse
news:ai9gko$i5p$1@sunsite.dk...
> Jeg må så erkende, at det er langt fra alle printere, der understøtter
> postscript. Min egen printer gjorde f.eks. ikke, så alle mine tests
fejlede,
> selvom programmet blev færdigt og fungerede.
>
MVH
Monie
| |
|
|