Autor Beitrag
RealTreder
Hält's aus hier
Beiträge: 3

Win 2000
D7 Prof
BeitragVerfasst: Fr 04.07.03 16:07 
Hallo,

ich habe ein ActiveX Steuerelement erstellt, welches ich in ein neues Formular eingebunden habe. Nun lasse ich das komplette Formular(ActiveX + Parentform) über einen Button des Hauptformulars mit der Funktion "print();" drucken. Das Hauptformular wird vernünftig gedruckt. Das OCX jedoch wird nur Teilweise gedruckt. Einige Dinge wie Buttons und Editboxen fehlen.

Nun meine Frage : Welche Möglichkeiten gibt es das ich einen Vernünftigen Ausdruck bekomme ?

_________________
the one and only "Real T.R.E.D.E.R."
dTrace
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 31


Delphi 5 Enterprise
BeitragVerfasst: Sa 05.07.03 19:59 
RealTreder hat folgendes geschrieben:
Hallo,

ich habe ein ActiveX Steuerelement erstellt, welches ich in ein neues Formular eingebunden habe. Nun lasse ich das komplette Formular(ActiveX + Parentform) über einen Button des Hauptformulars mit der Funktion "print();" drucken. Das Hauptformular wird vernünftig gedruckt. Das OCX jedoch wird nur Teilweise gedruckt. Einige Dinge wie Buttons und Editboxen fehlen.

Nun meine Frage : Welche Möglichkeiten gibt es das ich einen Vernünftigen Ausdruck bekomme ?


Hi,
erstelle ein Screenshot und drucke dann die Datei :D

dTrace

_________________
Wenn du aufsteigen willst, dann solltest du es mit dem Wind tun.
RealTreder Threadstarter
Hält's aus hier
Beiträge: 3

Win 2000
D7 Prof
BeitragVerfasst: Sa 05.07.03 21:04 
Titel: Tja..
soweit war ich auch schon, aber ich möchte das Ganze schon programmatisch lösen. Microsoft scafft es auch druckbare ocx zu erstellen, daher muß es ja eine Möglichkeit geben.

Ich bitte um weitere Vorschläge !

Vielen dank im Voraus.

_________________
the one and only "Real T.R.E.D.E.R."
dTrace
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 31


Delphi 5 Enterprise
BeitragVerfasst: Sa 05.07.03 21:55 
Titel: Re: Tja..
RealTreder hat folgendes geschrieben:
soweit war ich auch schon, aber ich möchte das Ganze schon programmatisch lösen. Microsoft scafft es auch druckbare ocx zu erstellen, daher muß es ja eine Möglichkeit geben.

Ich bitte um weitere Vorschläge !

Vielen dank im Voraus.


Hi,
hier ist der Code um einen Screenshot zu erstellen...

ausblenden 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:
procedure ScreenShotActiveWindow(Bild: TBitMap); 
var 
  c : TCanvas; 
  r, t : TRect; 
  h : THandle; 
begin 
  c := TCanvas.Create; 
  c.Handle := GetWindowDC(GetDesktopWindow); 
  h := GetForeGroundWindow; 
  if h<>0 then 
    GetWindowRect(h, t); 
  try 
    r := Rect(0,0,t.Right-t.left, t.Bottom-t.Top); 
    Bild.Width := t.Right-t.left; 
    Bild.Height := t.Bottom-t.Top; 
    Bild.Canvas.CopyRect(r, c, t); 
  finally 
    ReleaseDC(0, c.handle); 
    c.Free; 
  end; 
end; 
[quote]

du kannst dann durch die Methode [/quote] Bild.savetofile
den Screenshot als BMP Datei speichern...

Nunn kannst du das Bild programmtechnisch drucken!

Gruss: dTrace :wink:

_________________
Wenn du aufsteigen willst, dann solltest du es mit dem Wind tun.