GUI anpassen

  • Hi,

    folgendes Problem:
    Ich hab ein Script mit GUI entwickelt daß auf verschiedenen Rechnern zum Einsatz kommt.
    Es gibt jetzt ein Rechner der die Anzeige auf "Mittel - 125 %" eingestellt hat. Auf diesem Rechner
    sind meine Labels der GUI nicht mehr lesbar da die Schrift halt viel zu groß dargestellt wird.
    Habt Ihr ne Idee wie ich das lösen kann (so daß die Ansicht auch für alle anderen Rechner noch
    funktioniert ..) ?

    Gruß

    Markus

    Einmal editiert, zuletzt von bordermax (31. Januar 2013 um 14:57)

  • Ich habs bei meinem Programm so gemacht, das ich es für den kleinsten Monitor mit großer Auflösung ausgelegt habe, und es für andere Screens dann einfach Strecke, also so das das Verhältnis gleich bleibt in etwa.

  • GUIs lassen sich resizen ;)
    Allerdings wirst du das Problem mit der hochskalierten Schriftgrösse kaum in den Griff bekommen. Das ist aber kein AUtoIt spezifisches Problem. Ab einer bestimmten Skalierung wird nahezu jedes Programm unbenutzbar.

  • also ich habs irgendwie so gemacht

    [autoit]

    Opt("GUIResizeMode", 1)
    WinMove($GUI, '', 0, 0, @DesktopWidth, (@DesktopHeight - $Taskleistenhoehe)) ; Maximiert das Fenster

    [/autoit]
  • Da die wenigsten Leute wohl die "Die Lesbarkeit auf dem Bildschirm erleichtern" verändern
    und meine Gui's immer eine feste Größe haben (also nicht veränderbar sein sollen), hab
    ich es mit der Schriftgröße für mich folgendermaßen gelöst:

    Ich lese die aktuelle DPI-Größe der Bildschirmauflösung mit

    [autoit]

    $DPI = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics", "AppliedDPI")

    [/autoit]


    aus, und errechne, vor dem Gui-Aufbau, den Multiplikator für andere Werte als 96 DPI (100% Bildschirmlesbarkeit):

    [autoit]

    If $DPI = 96 Then
    $DPI = 1
    Else
    $DPI = 96 / $DPI
    EndIf

    [/autoit]


    und setze die Schriftgröße in der Gui dann z.B. so:

    [autoit]

    GUISetFont(8.5 * $DPI, 400, -1, "Arial")

    [/autoit]


    So bleibt alles so, wie ich es in meinen Programmen haben will....
    Müssen die Leute mit erhöhter Lesbarkeit halt die Augen ein wenig mehr anstrengen ;)

    Bin natürlich auch an einer eleganteren Lösung interessiert, aber unsere Profi's hier, werden es schon richten :thumbup:

    MfG Diggidie