BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Standardschrift für Dialoge

Alles zur Programmierung im LibreOffice.
Antworten
Ray123
Beiträge: 101
Registriert: Di 9. Apr 2013, 12:05
Wohnort: Baden-Württemberg

Standardschrift für Dialoge

Beitrag von Ray123 » Sa 13. Feb 2021, 10:31

Gibt es in LibreOffice eine Möglichkeit, die Standardschrift von Dialogen, die man in der IDE erstellt, festzulegen? Ich möchte nicht die Systemeinstellungen von Windows ändern, sondern nur die Standardschrift der Dialoge. Vielleicht hat dazu ja jemand eine Idee? Gefunden habe ich bisher nichts.

Gruß
Ray
Win10 20H2 x64 LO7.1.0.3

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: Standardschrift für Dialoge

Beitrag von craig » Sa 13. Feb 2021, 15:14

Hallo Ray,

ich habe selbst schon danach gesucht, aber nichts gefunden.
Es ist und bleibt wohl so, dass diese Eigenschaften fest mit dem Betriebssystem verknüpft sind.

Mein Test ergab zwar, dass mir Xray die zugewiesenen Fonteigen-
schaften angezeigt hat, aber der Dialog unverändert blieb. :evil:

Erzeugt einen dynamischen Dialog mit Steuerelementen

Code: Alles auswählen

REM  *****  BASIC  *****
Option Explicit

REM Deklaration der Variablen
'Dim oDocW as Object			' Writer-Dokument
'Dim oCC as Object			' CurrentController
'Dim oVC as Object			' ViewCursor
Dim oWin as Object			

Dim bTrue as Boolean

Dim yTop as Integer
Dim xLeft as Integer

REM Deklaration der Objektvariablen des Programmdialogs
Dim oDlgMod as Object	 	' Modell des Dialogs
Dim oDlg as Object

REM Deklaration der Objektvariablen des CommandButtons
Dim oBut1Mod as Object 		' Button1-Model

REM Deklaration der Objektvariablen der ComboBoxen
Dim oCbo1Mod as Object
Dim oCbo2Mod as Object


REM ═══════════════════════════════════════════════════════════════════════════════════════════════════════
REM Initialisierung: Dialog und Steuerelemente
Sub DlgInit

REM ═══════════════════════════════════════════════════════════════════════════════════════════════════════
	' LibreOffice Makros & Dialoge -> Tools
	' Lädt die TOOLS-Bibliothek mit vorgefertigten Hilfsfunktionen
	' IF-Anweisung prüft ob die Bibliothek bereits geladen wurde:
	' Wenn JA, dann passiert nichts
	' SONST wird die Bibliothek geladen
	If NOT GlobalScope.BasicLibraries.isLibraryLoaded( "Tools" ) Then
	   GlobalScope.BasicLibraries.LoadLibrary( "Tools" )
	End If

REM ═══════════════════════════════════════════════════════════════════════════════════════════════════════
REM Steuerelement-Positionierung
xLeft=20
yTop=10

REM ═══════════════════════════════════════════════════════════════════════════════════════════════════════
REM das Dialogmodell initialisieren
	oDlgMod = createUnoService("com.sun.star.awt.UnoControlDialogModel")
REM Eigenschaften zuweisen
	With oDlgMod
		.PositionX= 80
		.PositionY= 50
		.Width= 150
		.Height= 80
		.BackgroundColor= RGB(140,140,140)	'Hintergrundfarbe
		.Title= "Dialog-Test"
 		.FontName="Times Roman"
 		.FontHeight=15
'		.HelpText="Obst"
	End With

'xray oDlgMod

REM ═══════════════════════════════════════════════════════════════════════════════════════════════════════
REM OK-Button initialisieren
	oBut1Mod = oDlgMod.createInstance("com.sun.star.awt.UnoControlButtonModel")
REM Eigenschaften zuweisen
	With oBut1Mod
		.Name= "btnOK"
		.Width= 85
		.Height= 18
		.BackgroundColor= RGB(200,0,0)	'Hintergrundfarbe
		' OK-Button zentriert in Dialog
		.PositionX=oDlgMod.Width/2-oBut1Mod.Width/2
		.PositionY= oDlgMod.Height-25
		.Label= "OK"
		.HelpText="Datenübernahme"
	End With
	' Button laden
	oDlgMod.insertByName("btnOK", oBut1Mod)

REM ═══════════════════════════════════════════════════════════════════════════════════════════════════════
REM ComboBox1 initialisieren
	oCbo1Mod = oDlgMod.createInstance("com.sun.star.awt.UnoControlComboBoxModel")
	With oCbo1Mod
		.Name= "cbo1"
		.Width= 90
		.Height= 12
		.PositionX= oDlgMod.Width/2-oCbo1Mod.Width/2
		.PositionY= yTop
		.BackgroundColor= RGB(200,200,200)	'Hintergrundfarbe
		.Dropdown=True
		' cbo ausblenden?
		.EnableVisible=True
	End With
	' ComboBox1 laden	
	oDlgMod.insertByName("cbo1", oCbo1Mod)
'	mri oCbo1Mod

REM ═══════════════════════════════════════════════════════════════════════════════════════════════════════
REM ComboBox2 initialisieren
	oCbo2Mod = oDlgMod.createInstance("com.sun.star.awt.UnoControlComboBoxModel")
	With oCbo2Mod
		.Name= "cbo2"
		.Width= 90
		.Height= 12
		.PositionX= oDlgMod.Width/2-oCbo1Mod.Width/2
		.PositionY= yTop+20
		.BackgroundColor= RGB(255,24,24)	'Hintergrundfarbe
		.Dropdown=True
		' cbo ausblenden?
		.EnableVisible=True
	End With
	' ComboBox2 laden	
	oDlgMod.insertByName("cbo2", oCbo2Mod)

REM ═══════════════════════════════════════════════════════════════════════════════════════════════════════
REM Dialog ertellen 
	oDlg = CreateUnoService("com.sun.star.awt.UnoControlDialog")
	oDlg.setModel(oDlgMod)
	
REM Fenster erzeugen und den Dialog zuweisen
	oWin = createUnoService("com.sun.star.awt.Toolkit")
		oDlg.createPeer(oWin, null)
		
'		oDlg.getPeer().setProperty ( "NativeWidgetLook" , false)
'		oDlg.getPeer().setProperty ( "NativeWidgetLook" , True)
			oDlg.execute
End Sub

REM ═══════════════════════════════════════════════════════════════════════════════════════════════════════
In VB habe ich mal ein Tool programmiert, wo ich auf das Gleiche Problem gestoßen bin.
Ich habe dann einen Dialog ohne Titelleiste programmiert und an Stelle der Titelleiste ein
Textfeld (inklusive Schließen-Kreuz, etc.) gesetzt. So konnte ich die Fonteigenschaften ändern.

In Starbasic habe ich dies noch nicht versucht.
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten