Hallo Gerd,
hier mal der Quellcode, wie es gehen sollte.
Einfach ein neues Projekt erstellen, auf die Form eine PictureBox, eine CheckBox, sowie ein CommandButton:
<code><font color=#000099>Option</font> <font color=#000099>Explicit</font>
<font color=green>' zunächst die benötigten API-Deklarationen</font>
<font color=#000099>Private</font> <font color=#000099>Declare</font> <font _
color=#000099>Function</font> CreateFontIndirect <font _
color=#000099>Lib</font> "gdi32" _
<font color=#000099>Alias</font> "CreateFontIndirectA" (lpLogFont <font _
color=#000099>As</font> LOGFONT) _
<font color=#000099>As</font> <font color=#000099>Long</font>
<font color=#000099>Private</font> <font color=#000099>Declare</font> <font _
color=#000099>Function</font> SelectObject <font color=#000099>Lib</font> _
"gdi32" _
(<font color=#000099>ByVal</font> hdc <font color=#000099>As</font> <font _
color=#000099>Long</font>, <font color=#000099>ByVal</font> hObject <font _
color=#000099>As</font> <font color=#000099>Long</font>) <font _
color=#000099>As</font> <font color=#000099>Long</font>
<font color=#000099>Private</font> <font color=#000099>Declare</font> <font _
color=#000099>Function</font> DeleteObject <font color=#000099>Lib</font> _
"gdi32" _
(<font color=#000099>ByVal</font> hObject <font color=#000099>As</font> <font _
color=#000099>Long</font>) <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=#000099>Private</font> <font color=#000099>Declare</font> <font _
color=#000099>Function</font> TextOut <font color=#000099>Lib</font> "gdi32" _
<font color=#000099>Alias</font> _
"TextOutA" (<font color=#000099>ByVal</font> hdc <font _
color=#000099>As</font> <font color=#000099>Long</font>, <font _
color=#000099>ByVal</font> x <font color=#000099>As</font> <font _
color=#000099>Long</font>, _
<font color=#000099>ByVal</font> y <font color=#000099>As</font> <font _
color=#000099>Long</font>, <font color=#000099>ByVal</font> lpString <font _
color=#000099>As</font> <font color=#000099>String</font>, _
<font color=#000099>ByVal</font> nCount <font color=#000099>As</font> <font _
color=#000099>Long</font>) <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=#000099>Private</font> <font color=#000099>Const</font> LF_FACESIZE _
= 32
<font color=#000099>Private</font> <font color=#000099>Const</font> _
ANTIALIASED_QUALITY = 4
<font color=#000099>Private</font> <font color=#000099>Const</font> FW_NORMAL = _
400
<font color=#000099>Private</font> <font color=#000099>Const</font> FW_BOLD = _
700
<font color=#000099>Private</font> <font color=#000099>Const</font> _
DEFAULT_CHARSET = 1
<font color=#000099>Private</font> <font color=#000099>Const</font> _
OUT_TT_PRECIS = 4
<font color=#000099>Private</font> <font color=#000099>Const</font> _
VARIABLE_PITCH = 2
<font color=#000099>Private</font> <font color=#000099>Type</font> LOGFONT
lfHeight <font color=#000099>As</font> <font color=#000099>Long</font>
lfWidth <font color=#000099>As</font> <font color=#000099>Long</font>
lfEscapement <font color=#000099>As</font> <font color=#000099>Long</font>
lfOrientation <font color=#000099>As</font> <font color=#000099>Long</font>
lfWeight <font color=#000099>As</font> <font color=#000099>Long</font>
lfItalic <font color=#000099>As</font> <font color=#000099>Byte</font>
lfUnderline <font color=#000099>As</font> <font color=#000099>Byte</font>
lfStrikeOut <font color=#000099>As</font> <font color=#000099>Byte</font>
lfCharSet <font color=#000099>As</font> <font color=#000099>Byte</font>
lfOutPrecision <font color=#000099>As</font> <font color=#000099>Byte</font>
lfClipPrecision <font color=#000099>As</font> <font color=#000099>Byte</font>
lfQuality <font color=#000099>As</font> <font color=#000099>Byte</font>
lfPitchAndFamily <font color=#000099>As</font> <font color=#000099>Byte</font>
lfFaceName <font color=#000099>As</font> <font color=#000099>String</font> * _
LF_FACESIZE
<font color=#000099>End</font> <font color=#000099>Type</font>
<font color=#000099>Public</font> <font color=#000099>Sub</font> Text_<font _
color=#000099>Print</font>(ByRef Object, <font color=#000099>ByVal</font> _
PosX, _
<font color=#000099>ByVal</font> PosY, <font color=#000099>ByVal</font> Text _
<font color=#000099>As</font> <font color=#000099>String</font>, _
Optional <font color=#000099>ByVal</font> Winkel, _
Optional <font color=#000099>ByVal</font> Grösse, _
Optional <font color=#000099>ByVal</font> Fett <font color=#000099>As</font> _
<font color=#000099>Boolean</font>, _
Optional <font color=#000099>ByVal</font> Unterstrichen <font _
color=#000099>As</font> <font color=#000099>Boolean</font>, _
Optional <font color=#000099>ByVal</font> Kursiv <font _
color=#000099>As</font> <font color=#000099>Boolean</font>, _
Optional <font color=#000099>ByVal</font> Druchgestrichen <font _
color=#000099>As</font> <font color=#000099>Boolean</font>, _
Optional <font color=#000099>ByVal</font> FontName <font _
color=#000099>As</font> <font color=#000099>String</font>)
<font color=#000099>Dim</font> hPrinterDC <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=#000099>Dim</font> FontOld <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=#000099>Dim</font> Ret <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=#000099>Dim</font> hFont <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=green>' Druckt Text in einer X-Beliebigen Position aus</font>
<font color=green>' ----------------------------------------------</font>
'
<font color=green>' Parameter: Object Ausgabe- Object</font>
<font color=green>' PosX X-Koordinate in Twips</font>
<font color=green>' PosY Y-Koordinate in Twips</font>
<font color=green>' Text$ Text zum drucken</font>
<font color=green>' Optional Winkel Winkel (0 - 360)</font>
<font color=green>' Optional Grösse Textgrösse in Punkten (1 - 250)</font>
<font color=green>' Optional Fett Ja/Nein</font>
<font color=green>' Optional Unterstrichen Ja/Nein</font>
<font color=green>' Optional Kursiv Ja/Nein</font>
<font color=green>' Optional Durchgestrichen Ja/Nein</font>
<font color=green>' Optional Fontname$ Schrifttyp</font>
'
<font color=green>' 11. Oktober 2001</font>
<font color=green>' R.Kaufmann</font>
<font color=green>' Parameter prüfen</font>
<font color=green>' ----------------</font>
<font color=#000099>If</font> IsMissing(Winkel) <font _
color=#000099>Then</font> Let Winkel = 0
<font color=#000099>If</font> IsMissing(Grösse) <font _
color=#000099>Then</font> Let Grösse = 12
<font color=#000099>If</font> IsMissing(Fett) <font color=#000099>Then</font> _
Let Fett = <font color=#000099>False</font>
<font color=#000099>If</font> IsMissing(Unterstrichen) <font _
color=#000099>Then</font> Let Unterstrichen = <font color=#000099>False</font>
<font color=#000099>If</font> IsMissing(Kursiv) <font _
color=#000099>Then</font> Let Kursiv = <font color=#000099>False</font>
<font color=#000099>If</font> IsMissing(FontName) <font _
color=#000099>Then</font>
Let FontName = "Arial"
<font color=#000099>Else</font>
<font color=#000099>If</font> FontName = "" <font color=#000099>Then</font> _
Let FontName = "Arial"
<font color=#000099>End</font> <font color=#000099>If</font>
<font color=green>' Handle vom Printer in Variable einlesen</font>
<font color=green>' ---------------------------------------</font>
Let hPrinterDC = Object.hdc
PosX = Object.ScaleX(PosX, Object.ScaleMode, vbPixels)
PosY = Object.ScaleY(PosY, Object.ScaleMode, vbPixels)
<font color=#000099>If</font> Text$ = "" <font color=#000099>Then</font> _
<font color=#000099>Exit</font> <font color=#000099>Sub</font>
<font color=green>' Neuer Font kreieren</font>
<font color=#000099>Dim</font> Schrift <font color=#000099>As</font> LOGFONT
<font color=#000099>With</font> Schrift
.lfHeight = (Grösse * -20) / Screen.TwipsPerPixelY
.lfEscapement = Winkel * 10
.lfOrientation = Winkel * 10
.lfWeight = IIf(Fett = <font color=#000099>True</font>, 700, 400)
.lfItalic = Kursiv
.lfUnderline = Unterstrichen
.lfStrikeOut = Druchgestrichen
.lfCharSet = DEFAULT_CHARSET
.lfFaceName = FontName + Chr$(0)
hFont = CreateFontIndirect(Schrift)
FontOld = SelectObject(hPrinterDC, hFont)
<font color=green>' Text ausdrucken</font>
Ret = TextOut(hPrinterDC, PosX, PosY, Text, Len(Text))
<font color=green>' Alten Font wieder herstellen</font>
Ret = SelectObject(hPrinterDC, FontOld)
<font color=green>' Neuen Font löschen</font>
Ret = DeleteObject(hFont)
<font color=#000099>End</font> <font color=#000099>With</font>
<font color=#000099>End</font> <font color=#000099>Sub</font>
<font color=#000099>Private</font> <font color=#000099>Sub</font> _
Command1_Click()
<font color=#000099>Dim</font> objPrinter <font color=#000099>As</font> Object
<font color=#000099>If</font> Check1.Value <> 0 <font _
color=#000099>Then</font>
<font color=#000099>Set</font> objPrinter = Picture1
<font color=#000099>Else</font>
<font color=#000099>Set</font> objPrinter = Printer
<font color=green>' Wichtig!</font>
Printer.<font color=#000099>Print</font>
<font color=#000099>End</font> <font color=#000099>If</font>
Text_<font color=#000099>Print</font> objPrinter, 1000, 2000, _
"www.vbarchiv.de", 90, 10, <font color=#000099>True</font>, <font _
color=#000099>False</font>, <font color=#000099>False</font>, <font _
color=#000099>False</font>, "Arial"
<font color=#000099>If</font> Check1.Value = 0 <font color=#000099>Then</font>
Printer.EndDoc
<font color=#000099>End</font> <font color=#000099>If</font>
<font color=#000099>End</font> <font color=#000099>Sub</font></code> Cu
Dieter |