🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Formatwähler

Alles zur Programmierung im LibreOffice.
Antworten
scientific
Beiträge: 131
Registriert: Do 25. Apr 2013, 17:27

Formatwähler

Beitrag von scientific » Do 4. Feb 2016, 23:31

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...

mikele
* LO-Experte *
Beiträge: 1932
Registriert: Mo 1. Aug 2011, 20:51

Re: Formatwähler

Beitrag von mikele » Mo 8. Feb 2016, 13:20

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.
Gruß,
mikele

scientific
Beiträge: 131
Registriert: Do 25. Apr 2013, 17:27

Re: Formatwähler

Beitrag von scientific » Mo 8. Feb 2016, 23:31

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


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten