Seite 1 von 1
Formatwähler
Verfasst: Do 4. Feb 2016, 23:31
von scientific
Hi!
Wie ich den FolderPicker oder den FilePicker aufrufe und verwende weiß ich. Aber wie komme ich zum Format-Wähler für Zeichenformate/Fonts?
Ich möchte über ein Dialogfeld verschiedene Einstellungen zu Datenbank-Exporten machen können. Eine der Einstellungen ist Font und Fontformat für die Exporte nach Calc. Und dazu möchte ich eben den Dialog aufrufen, wo ich Font und Forntformat einstellen kann, und diese dann in mein Config-Cacl schreiben. Aber irgendwie finde ich dazu nichts...
Re: Formatwähler
Verfasst: Mo 8. Feb 2016, 13:20
von mikele
Hallo,
den Dialog
Den Dialog zur Formatierung von Zeichen kannst du über den Dispatcher aufrufen:
Code: Alles auswählen
oProvider = ThisComponent.CurrentController.Frame
oDispHelper = createUnoService("com.sun.star.frame.DispatchHelper")
oDispHelper.executeDispatch(oProvider,".uno:CharFontName","", , Array())
Für den Absatzdialog wäre es entsprechend ".uno:ParagraphDialog".
Ich bin mir aber nicht sicher, ob es das ist was du eigentlich willst.
Re: Formatwähler
Verfasst: Mo 8. Feb 2016, 23:31
von scientific
Vielen Dank. Ich hab mittlerweile eine Lösung gefunden. Ich möchte eigentlich nur Font und Schriftgröße auswählen können. Dazu lese ich die installierten Schriften aus. Die Fontgrößen gebe ich nur in bestimmten brauchbaren Größen in einer eigenen Liste vor.
Code: Alles auswählen
Function GetFontliste(Fontliste())
Dim iFonts As Integer
Dim oWindow As Object
Dim oFonts As Object
' Dim aFontlist As Object
' Dim aFontlistUniq As Object
Dim i As Integer
Dim j As Integer
Dim sFont$
oWindow = thisComponent.getCurrentController().getFrame().getContainerWindow()
oFonts() = oWindow.getFontDescriptors()
iFonts = Ubound(oFonts())
Dim aFontlist(iFonts)
For i = 0 To iFonts
aFontlist(i) = oFonts(i).Name
Next i
BubbleSortList(aFontlist)
sFont = aFontlist(0)
Dim aFontListUniq(iFonts)
aFontListUniq(0) = aFontlist(0)
j=1
For i = 1 To iFonts
If sFont <> aFontlist(i) Then
aFontListUniq(j) = aFontList(i)
sFont = aFontList(i)
j=j+1
End If
i=i+1
Next i
ReDim Preserve aFontlistUniq(j-1)
Fontliste = aFontlistUniq
End Function
Dieses Codeschnipsel habe ich von Andrew Pitonyak (ich glaub, so schreibt man ihn. )
lg scientific