Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Drucker-Schriftarten VB6

41 views
Skip to first unread message

Patrick Spieler

unread,
Dec 3, 1999, 3:00:00 AM12/3/99
to
hallo zusammen
es besteht ja das problem, dass das drucken von truetype-fonts mittels
matrix-drucker sehr langsam ist. wir haben nun zum testen einen matrix-
drucker (Epson LQ-870 ESC/P 2) bei uns im haus. ich möchte nun alle
darauf verfügbaren druckerschriftarten anzeigen lassen. der versuch
mittels

for i%=1 to printer.fonts-1
debug.print printer.fonts(i%)
next

bringt leider nicht die druckschriftarten (wieso auch immer?!?). nachdem
der enduser dann die gewünschte drucker-schriftart selektiert hat, sollte
diese dem printer-objekt übergeben werden und dann dank der drucker-
schriftart relativ schnell ausdrucken.

weiss jemand, wie sich zuverlässig die verfügbaren drucker-schriftarten
eines
druckers herauslesen kann und ihn dann auch auf diese einstellen kann?

besten dank für jeden tipp.
gruss patrick


M. Metz

unread,
Dec 3, 1999, 3:00:00 AM12/3/99
to

Patrick Spieler <p.sp...@rotron.ch> schrieb in im Newsbeitrag:
e1wLhlWP$GA.246@cppssbbsa04...

> hallo zusammen
> es besteht ja das problem, dass das drucken von truetype-fonts mittels
> matrix-drucker sehr langsam ist. wir haben nun zum testen einen matrix-
> drucker (Epson LQ-870 ESC/P 2) bei uns im haus. ich möchte nun alle
> darauf verfügbaren druckerschriftarten anzeigen lassen. der versuch
> mittels
>
> for i%=1 to printer.fonts-1
> debug.print printer.fonts(i%)
> next

Muß heißen:
for i=1 to printer.fontcount
debug.print printers.fonts(i)


next
>
> bringt leider nicht die druckschriftarten (wieso auch immer?!?). nachdem
> der enduser dann die gewünschte drucker-schriftart selektiert hat, sollte
> diese dem printer-objekt übergeben werden und dann dank der drucker-
> schriftart relativ schnell ausdrucken.
>
> weiss jemand, wie sich zuverlässig die verfügbaren drucker-schriftarten
> eines
> druckers herauslesen kann und ihn dann auch auf diese einstellen kann?
>
> besten dank für jeden tipp.
> gruss patrick
>

Liste der Fonts in Listenfeld / Combobox -> Text bei Click auslesen
-> printer.font = "Arial" bzw, printer.font=combo1.text


Manuel

TOPTEC Technik, die das Leben leichter macht
~~~ www.toptec.de ~~~
~~~ webm...@toptec.de ~~~

Peter Götz

unread,
Dec 3, 1999, 3:00:00 AM12/3/99
to
Hallo Patrick,

nachdem Du den User die jeweilige Druckerschriftart selbst auswählen
lassen willst, bietet es sich an, den CommonDialog für Schriften zu
verwenden.
Das könnte z.B. so aussehen:
Setze das CommonDialog-Steuerelement z.B. auf Form1

Public pCDLG as CommonDialog

Private Form1_Load()
Set pCDLG = CommonDialog1
End Sub

Public Function GetFont(Fnt As StdFont, _
ByVal Min As Single,
ByVal Max As Single) As StdFont

'FontDialog (CommonDialog) aufrufen. _
pCDLG ist die Objectvariable für CommonDialog.

'Rückgabewert im Normalfall: ausgewählte Schrift
'Rückgabewert im Fehlerfall: die mit Fnt übergebene Schrift

Dim F As New StdFont

pCDLG.CancelError = True
'cdlCFPrinterFonts zeigt die verfügbaren Druckerschriftarten, _
cdlCFPrinterFonts Or cdlCFScreenFonts würde Drucker- und _
Bildschirmschriftarten zeigen.
pCDLG.Flags = cdlCFLimitSize Or cdlCFPrinterFonts
pCDLG.FontName = Fnt.Name
pCDLG.FontSize = Fnt.Size
pCDLG.FontBold = Fnt.Bold
pCDLG.FontItalic = Fnt.Italic
pCDLG.Min = Min
pCDLG.Max = Max

On Error Resume Next
pCDLG.ShowFont 'Dialog zeigen
Select Case Err.Number
Case 0
'Dialog wurde fehlerfrei beendet
F.Name = pCDLG.FontName
F.Size = pCDLG.FontSize
F.Bold = pCDLG.FontBold
F.Italic = pCDLG.FontItalic
Case cdlCancel
'Benutzer hat auf Abbrechen geklickt
Set F = Fnt 'bisherige in Fnt übergebene Schrift zurückgeben
Case Else
'CommonDialog meldet einen Fehler
'ShowErrMsg... zeigt dem User entsprechende Fehlerinformationen
'ShowErrMsg Err.Number, Err.Description, pCDLG.DialogTitle
Set F = Fnt 'bisherige in Fnt übergebene Schrift zurückgeben
End Select

Set GetFont = F

End Function

'Aufruf der Funktion GetFont:

dim F as New StdFont
F = GetFont(Printer.Font, 8, 24)

'neu ausgewählte Schrift an Printer zuweisen.
Set Printer.Font = F

Grüsse aus St.Georgen im Chiemgau,
Peter Götz p.g...@gssg.de
www.gssg.de (mit VB-Tips u. Beispielprogrammen)
**______________**_________________**


Peter Götz

unread,
Dec 4, 1999, 3:00:00 AM12/4/99
to
Moin Mathias,

> cdlCFPrinterFonts zeigt meines Wissens alle Schriftarten, die der
> Drucker ausgeben kann - TrueTypes gehoeren natuerlich dazu.

Absolut richtig beobachtet.
Aber wie Du schon bemerkt hast, diese niedlichen Druckericons zeigen dem
User recht schön, bei welchen Schriftarten er eine flottere Gangart des
Druckers erwarten darf.
Ob irgendwelche Nadeldrucker auch fest verlötete Truetypeschriften haben,
... keine Ahnung. Ich habe hier noch zwei solche Antiquitäten von Epson (die
drucken tatsächlich schon seit gut 10 Jahren brav vor sich hin). Die haben
natürlich keine eigenen Truetypeschriften.

Patrick Spieler

unread,
Dec 9, 1999, 3:00:00 AM12/9/99
to
hallo zusammen
besten dank - beide antworten haben mich weitergebracht, vb-götter!
gruess patrick

Peter Götz <p.g...@gssg.de> schrieb in im Newsbeitrag:
u2VSo$jP$GA.268@cppssbbsa04...

0 new messages