vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Schriftgrösse Benutzerdefiniert ändern führt zu Darstellungsproblemen 
Autor: Manfred X
Datum: 27.06.11 22:02

Hallo!

Du mußt die geeigneten ZoomFaktoren ermitteln (z.b. für
die Fonts klein - mittel - groß). Die Größenrelationen
können mit der Graphics.MeasureString-Methode ermittelt werden.

Wenn eine Form erstellt wird, einfach Width/Height per Faktoren
anpassen und danach eine Zoom-Funktion (z.B. in einem Modul) aufrufen
- ungefähr so eine (Das Formular, den neuen Font und die zugeh.
Faktoren als Parameter übergeben).
Private Sub ZoomControls(ByVal f As Control, fo As Drawing.Font, _
        factorwidth As Double, factorheight As Double)
 
   For Each ctl As Control In f.Controls
        ZoomControls(ctl, fo, factorwidth, factorheight)
 
        If TypeOf ctl Is ListBox Then
           'Listbox reagiert sonst nicht richtig ???
           Dim lb As ListBox = CType(ctl, ListBox)
           lb.Height = CInt(lb.Height * factorheight)
        Else
           ctl.Height = CInt(ctl.Height * factorheight)
        End If
        ctl.Font = fo
        ctl.Top = CInt(ctl.Top * factorheight)
        ctl.Width = CInt(ctl.Width * factorwidth)
        ctl.Left = CInt(ctl.Left * factorwidth)
   Next ctl
End Sub
Ausprobieren!
Ob Deine Idee mit der DPI-Änderung funktioniert, kann ich nicht beurteilen.

MfG
Manfred

Beitrag wurde zuletzt am 27.06.11 um 22:05:17 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Schriftgrösse Benutzerdefiniert ändern führt zu Darstellungsproblemen 
Autor: SeaStorm
Datum: 27.06.11 16:02

Hi

ich würde in meinem Programm gerne den Benutzer die Schriftgrösse wählen lassen ( die älteren Menschen sehen die standard 8.25 meisst nicht mehr so gut ;) ).

Jetzt könnte ich zwar hingehen und über alle Forms und Usercontrolls hinweg einfach den 8.25 Wert anhand eines Eingestellten Wertes ersetzen, aber das führt natürlich zu diversen Darstellungsproblemen, das z.B die Schrift nicht mehr in Eng abgemessene oder nah aneinander liegende Labels passt.

Nur wüsste ich nicht was ich dagegen tun könnte.
hat da schon jemand Erfahrung mit? Gibt es da Spezielle Einstellungen / Techniken mit denen sich solche Problmee lösen lassen?


Bin für jeden Tipp dankbar ;)

Mfg Sea

Beitrag wurde zuletzt am 27.06.11 um 16:03:02 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schriftgrösse Benutzerdefiniert ändern führt zu Darstellungsproblemen 
Autor: Manfred X
Datum: 27.06.11 18:12

Hallo!

Um so eine Anpassung der Formulare nachträglich zu realisieren,
könntest Du eine Funktion schreiben, die als Parameter
ein Formular, einen Font und einen Zoomfactor erhält.

Zunächst wird die Form um den Factor vergrößert (Width, Height).

Man muss danach rekursiv alle Controls-Auflistungen
der Form (und entsprechender Controls) durcharbeiten:
jeweils ggf. den Font setzen und die Top-, Left-,
Width- und evt. Hight-Eigenschaft aller enthaltenen Controls
über den Zoomfactor neu berechnen.

Den Zoomfactor erhälst Du annähernd über das Größenverhältnis
zwischen dem aktuellen und dem neuen Font.
(Evt. sind zwei Faktoren, separat für Höhe/Breite erforderlich).


MfG
Manfred

Beitrag wurde zuletzt am 27.06.11 um 18:14:19 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schriftgrösse Benutzerdefiniert ändern führt zu Darstellungsproblemen 
Autor: SeaStorm
Datum: 27.06.11 21:41

hm das klingt nach extrem viel gefrickel. ausserdem müsste jedes Control nachjustiert werden.
Habe heute noch ein bisschen drüber nachgedacht und hatte so ne Idee dass sowas doch irgendwie über eine DPI Zahl zu lösen sein müsste.
Das man nicht die Schriftgrösse an sich ändert, sondern die DPI Zahl der Schrift erhöht. und im gleichen verhältniss die Form rendern lässt.
Nur hab ich bisher noch nix sinnvolles darüber gefunden :\
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel