Hallo,
kennt jemand eine Möglichkeit, den Zeichensatz der application bar und des VB Menüs zu ändern?
Mit folgender Funktion kann man zwar wunderbar alle Controls, die die Font-Eigenschaft haben, auf einer Form ändern, wenn man die Funktion im Form_Load aufruft, jedoch ändert sich nichts am Menü und an der Leiste oben:
Public Sub ChangeFont(frm As Form, Optional FontName As String = "MS Reference Sans Serif", Optional FontSize As Single)
Dim ctL As Control
On Error Resume Next
frm.FontName = FontName
If Not IsMissing(FontSize) Then
If FontSize > 0 Then
frm.Font.Size = FontSize
End If
End If
For Each ctL In frm.Controls
ctL.Font.Name = FontName
If Not IsMissing(FontSize) Then
If FontSize > 0 Then
ctL.Font.Size = FontSize
End If
End If
Next
End Sub
Die Menüeinträge haben anscheinend überhaupt keine Font-Eigenschaft. Die Form hat zwar eine, dies wirkt sich aber nur auf Controls aus, die neu auf eine Form gesetzt werden.
Das ganze ist eine durchaus sinnvolle und ernsthafte Angelegenheit:
1. Die VB-Defaultschrift MS Sans Serif unterstützt nicht Microsoft ClearType, so dass diese Schriften dann immer etwas ausgefranst aussehen, wenn man die Form auf Bildschirmgröße vergrößert.
2. In manchen Anwendung benötige ich ausländische Zeichensätze, z.B. mongolische TT-Fonts. Da ist es natürlich richtig ärgerlich, wenn insbesondere die Menüs noch in normalen lateinischen Buchstaben dargestellt werden.
Hoffentlich weiß jemand was dazu, leider habe ich auch keine passende API gefunden, die hier weiter hilft.
Grüsse
Ronald
kennt jemand eine Möglichkeit, den Zeichensatz der application bar und des VB Menüs zu ändern?
Mit folgender Funktion kann man zwar wunderbar alle Controls, die die Font-Eigenschaft haben, auf einer Form ändern, wenn man die Funktion im Form_Load aufruft, jedoch ändert sich nichts am Menü und an der Leiste oben:
Public Sub ChangeFont(frm As Form, Optional FontName As String = "MS Reference Sans Serif", Optional FontSize As Single)
Dim ctL As Control
On Error Resume Next
frm.FontName = FontName
If Not IsMissing(FontSize) Then
If FontSize > 0 Then
frm.Font.Size = FontSize
End If
End If
For Each ctL In frm.Controls
ctL.Font.Name = FontName
If Not IsMissing(FontSize) Then
If FontSize > 0 Then
ctL.Font.Size = FontSize
End If
End If
Next
End Sub
Die Menüeinträge haben anscheinend überhaupt keine Font-Eigenschaft. Die Form hat zwar eine, dies wirkt sich aber nur auf Controls aus, die neu auf eine Form gesetzt werden.
Das ganze ist eine durchaus sinnvolle und ernsthafte Angelegenheit:
1. Die VB-Defaultschrift MS Sans Serif unterstützt nicht Microsoft ClearType, so dass diese Schriften dann immer etwas ausgefranst aussehen, wenn man die Form auf Bildschirmgröße vergrößert.
2. In manchen Anwendung benötige ich ausländische Zeichensätze, z.B. mongolische TT-Fonts. Da ist es natürlich richtig ärgerlich, wenn insbesondere die Menüs noch in normalen lateinischen Buchstaben dargestellt werden.
Hoffentlich weiß jemand was dazu, leider habe ich auch keine passende API gefunden, die hier weiter hilft.
Grüsse
Ronald