Autor Beitrag
Bjoern128
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 17



BeitragVerfasst: Fr 28.03.03 14:47 
Um den bedruckbaren Bereich meiner Seite auszuleen verwende ich physicaloffsetx bzw. physicaloffsety.
Allerdings sind die Ränder oben und unten und links und rechts unterschiedlich groß.
Wie kann ich da unterscheiden??


Danke
Björn
ShadowCaster
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 312



BeitragVerfasst: Fr 28.03.03 15:23 
Hier ein paar Funktionen die dir helfen könnten:

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
// Seitenbreite
function TCustomDrucker.GetPageWidth: Integer;
begin
  Result := GetDeviceCaps(Printer.Handle, PHYSICALWIDTH);
end;

// Seitenhöhe
function TCustomDrucker.GetPageHeight: Integer;
begin
  Result := GetDeviceCaps(Printer.Handle, PHYSICALHEIGHT);
end;

// Linker nicht bedruckbarer Abstand
function TCustomDrucker.GetPageOffsetLeft: Integer;
begin
  Result := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX);
end;

 // Rechter nicht bedruckbarer Abstand
function TCustomDrucker.GetPageOffsetRight: Integer;
begin
  Result := GetPageWidth - GetPageOffsetLeft - GetDeviceCaps(Printer.Handle, HORZRES);
end;

// oberer nicht bedruckbarer Abstand
function TCustomDrucker.GetPageOffsetTop: Integer;
begin
  Result := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY);
end;

 // unterer nicht bedruckbarer Abstand 
function TCustomDrucker.GetPageOffsetBottom: Integer;
begin
  Result := GetPageHeight - GetPageOffsetTop - GetDeviceCaps (Printer.Handle, VERTRES)
end;


Hier der Code wie du den druckbaren Bereich in der Höhe und Breite ermitteln kannst:

ausblenden Quelltext
1:
2:
3:
var DruckbarHoehe, DruckbarBreite : Integer; // nicht vergessen
DruckbarHoehe := GetPageHeight - GetPageOffsetTop - GetPageOffsetBottom;
DruckbarBreite := GetPageWidth - GetPageOffsetLeft - GetPageOffsetRight;


Achja, offset ist der Abstand des nicht druckbaren Bereichts in dem Fall.
Bjoern128 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 17



BeitragVerfasst: Fr 28.03.03 18:35 
Titel: Danke!
Vielen Dank!

hat echt weitergeholfen!
Mein Programm läuft schon.

:D