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
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 ~~~
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)
**______________**_________________**
> 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.
Peter Götz <p.g...@gssg.de> schrieb in im Newsbeitrag:
u2VSo$jP$GA.268@cppssbbsa04...