FF_SetDialogScale

praetor

Mitglied
Dabei seit
24.10.04
Beiträge
2.137
Standort
Berlin
Trophäen
{**!!!}**!!!!! !!!!! !!
#1
> 21.02.20 B:20 double FF_GetScreenScaling() liefert die eingestellte Skalierung. FF_SetDialogScale(double x, double y) skaliert Dialoge im Scripting.

Ein Beispiel wäre schön, wie das konkret zu benutzen ist. Kann da jemand helfen?
 

praetor

Mitglied
Dabei seit
24.10.04
Beiträge
2.137
Standort
Berlin
Trophäen
{**!!!}**!!!!! !!!!! !!
#2
Hallo, auf meine obige Frage von vor fast drei Jahren gab es damals leider keine Antwort. Jetzt habe ich mit eine neuen Laptop gekauft:
Auflösung: 3072 x 1920
Skalierung (empfohlen); 200 %
Es wird Euch nicht überraschen, dass damit die Skripte kaum benutzbar sind. Und eigentlich möchte ich die Skalierung gern auf 250% setzen, da meine Augen nicht mehr die besten sind. Dann ist in den Skriptdialogen endgültig nichts mehr zu erkennen.
Gibt es denn keine Möglichkeit, die Dialogoberfläche so zu erstellen, dass trotz unterschiedlicher Auflösung und Skalierung ein halbwegs brauchbares Ergebnis herauskommt? Ist FF_SetDialogScale ggf. Teil der Lösung?
Bin gespannt auf Euer Feedback.
 

Sasssoft

Mitglied
Dabei seit
02.07.04
Beiträge
5.395
Standort
Albersdorf (Schleswig-Holstein)
Trophäen
{******} ********* !!!!!!!!!!!!
#3
Es wird Euch nicht überraschen, dass damit die Skripte kaum benutzbar sind.
Sage ich ja schon seit Jahren. Ich brauche zwar 'nur' 150% Skalierung, aber damit werden viele Skript-Dialoge schon ziemlich verunstaltet (weil Texte abgeschnitten werden).

Etliche seiner Skripte hat Harald (Mecki14) deshalb schon mal umgestaltet. Eine grundsätzliche Lösung wäre aber natürlich viel schöner.

(Das wäre doch ein schönes FixFoto-Weihnachtsgeschenk ;).)


Gruß
Alfred
 

Sasssoft

Mitglied
Dabei seit
02.07.04
Beiträge
5.395
Standort
Albersdorf (Schleswig-Holstein)
Trophäen
{******} ********* !!!!!!!!!!!!
#5
Testversion Dialogskalierung V4.04 B:24
Auf jeden Fall eine deutlich Verbesserung! Der Text in Eingabefeldern und Beschriftung von Buttons ist häufig nicht mittig sondern etwas oberhalb. Das liegt u.U. an den Skriptautoren, die vielleicht mit Tricks gearbeitet haben, um ihre Buttons zu gestalten.

Ich bin mal die meisten meiner Skripte von oben nach unten durchgegangen und habe jeweils die Dialoge aufgerufen. Alles mit meiner Standard-Windows-Anzeigeskalierung von 150%. Manche Skripte sind nicht mehr bedienbar, lassen sich aber wenigstens noch schließen, manche lassen sich nicht mehr schließen (weil offenbar das Schließkreuz oben rechts nicht abgefragt wird). Dann hilft nur im laufenden Betrieb das Zurücksetzen der Windows-Skalierung auf 100%, dann den Dialog schließen, dann wieder auf 150% setzen.

MonsterMasterFramerDeLuxe: Dialog zu hoch und zu breit, Rahmenliste steht außerhalb, "Rahmung durchführen"-Button nicht erreichbar.
MasterFramerDeLuxe: Dialog zu hoch, untere Bedienbuttons nicht mehr erreichbar
MFDL-Toolbox: Dialog zu hoch, untere Bedienbuttons nicht mehr erreichbar

Bilder umbenennen & kopieren: OK
Bilddaten nach Word/Excel: OK
CopyCard: OK
AdvancedShadow:OK
BannerMaster: Dialog wird viel zu groß, nicht mehr bedienbar
BannerSchrift: OK
Buntstiftzeichnung: OK
burn2ground: OK
Contour mit Vorschaus: OK
Freidrehen: OK
Kacheln, Kachelschatten: OK
Runde Ecken: OK
Transparenz: OK
Triptychon+: Dialog zu hoch, untere Bedienbuttons nicht mehr erreichbar
Verzerrungen: Dialog zu hoch, untere Bedienbuttons nicht mehr erreichbar
Wasserzeichen: OK
Webschatten: OK
Bildinformation: OK
ExifZeit: OK
EditExifInfos: OK
MetaInfo: Dialog viel zu groß, nicht mehr bedienbar
MKCanon: OK
Saver 4.2: OK
Search Exif: OK
Metadatentransfer: OK
GeoBild: Dialog etwas zu hoch, unten knapp bedienbar
Koordinaten zuweisen: OK
Umfeldsuche: OK
Beschreib-fix: OK
IPTC eintragen: Dialog zu groß, unten nicht mehr bedienbar
KeyWords: OK
Schlagworteditor: OK
Schlagworteintrag: OK
SetNameToIPTC: OK
Kalenderblatt 1.23: Dialog zu groß, lässt sich nicht schließen
w-pinsel: OK
W-Points: Dialog zu groß, lässt sich nicht schließen
w-Shift: Dialog zu groß, lässt sich nicht schließen
Bildfläche verdoppeln: OK
Collage+: OK
Overlapped: OK
Monochrom: OK
Bilderweiterung: OK
Bildrand: OK
Formatnormierung: OK
Für Belichtung skalieren: OK
PortraitToLandscape: Dialog zu hoch, unten nicht mehr bedienbar
Scale All: OK
Scale Print: OK
Spiegeln: OK
AlbumMaker: OK
Bildausschnitt: OK
Bilder ausrichten: OK
Bildunterschrift: OK
Datenblitz-Tool: OK
FormatFitter: OK
Gitter: OK
ImageBackup: OK
ImgSlct 3.5: OK
Konfigurator: OK
Ordnersuche: OK
Seitenverhältnis_Test: OK
Stapelbeschnitt: OK
Skript-Setup: OK
WebScale: OK

Wenn es keine Lösung gibt, könnte man vielleicht bei den FixFoto-Einstellungen eine Option einbauen, um die Skripte zu skalieren oder nicht, so dass man eine Möglichkeit hat, zum früheren Zustand zurückzukehren. Bei den nicht bedienbaren Skripten müssen vermutlich die jeweiligen Skript-Autoren ran, um das umzubauen, sofern die denn hier noch mitlesen und Interesse daran haben.

Gruß
Alfred
 

HeiM

Mitglied
Dabei seit
08.04.03
Beiträge
5.617
Standort
Leipzig
#6
Ich habe mal kurz angetestet.

Beim MonsterMasterFramerdeLuxe
habe ich nach wie vor das gleiche Problem mit dem Button "Rahmung durchführen" Der ist nur zur knappen Hälfte sichtbar.

Bei allen anderen Scripten hatte ich bislang keine Probleme, da meine Monitore alle auf 100% stehen.
 

HeiM

Mitglied
Dabei seit
08.04.03
Beiträge
5.617
Standort
Leipzig
#8
Ich habe inzwischen auch einige Tests vorgenomen.
Das Problem mit 3D Stereo ist behoben. Auch bei mir keine Abstürze mehr
Der Monste Master Framer de Luxe ist nach wie vor nicht i.O. Der Button "Rahmung durchführen erscheint sowohl bei 150% wie auch bei 100% nur zur Hälfte.
Alle anderen von mir genutzten Scripte sind OK. Die Schrift sitzt zwar nicht immer mittig (meist etwas nach oben verschoben), ist aber komplett im Feld sichtbar.
Vom Grundsatz her ist die Dialogskalierung also gelungen.
Ein Dankeschön an Joachim.

Ob es für den MMFdL noch eine Lösung gibt? Denn er ist für mich ein wichtiges Tool.
Habe diesbezüglich Heinz Höfling per PN angeschrieben. Ob er sie liest? Denn er war seit November nicht mehr im Forum
 

JKS

FF-Team
Dabei seit
06.06.02
Beiträge
6.702
#9
Im MMFDL testweise Zeile 28&29 wie folgt ändern:
var scrx = FF_GetSystemMetrics(SM_CXSCREEN) / FF_GetScreenScaling();
var scry = FF_GetSystemMetrics(SM_CYSCREEN) / FF_GetScreenScaling();
 

Sasssoft

Mitglied
Dabei seit
02.07.04
Beiträge
5.395
Standort
Albersdorf (Schleswig-Holstein)
Trophäen
{******} ********* !!!!!!!!!!!!
#10
Nur ein Teilerfolg, siehe Bild. In der Breite wird der Monitor jetzt nicht mehr voll ausgefüllt, in der Höhe ist der Dialog nach wie vor zu hoch. Alles mit 150% Skalierung.

Gruß
Alfred
MMFDL.jpg
 

Sasssoft

Mitglied
Dabei seit
02.07.04
Beiträge
5.395
Standort
Albersdorf (Schleswig-Holstein)
Trophäen
{******} ********* !!!!!!!!!!!!
#12
Komisch ...
Ich habe mal verschiedene Skalierungen eingestellt, u.a. auch benutzerdefinierte:

100%: passt, aber dann sind alle Symbole und Schriften zu klein.
125%: passt sehr gut, rundherum ganz klein wenig Platz.
140%: links und rechts etwas Platz, Höhe gerade so, dass der "Rahmung durchführen"-Button erreichbar ist.
150%: links und rechts Platz, Höhe zu hoch.
160%: links und rechts etwas Platz, Höhe zu hoch.
175%: links und rechts ganz wenig Platz, Höhe viel zu hoch.

Es sieht fast so aus, als wenn (im MMFDL) die Skalierung waagerecht und senkrecht verschieden stark wirkt.

Gruß
Alfred
 

praetor

Mitglied
Dabei seit
24.10.04
Beiträge
2.137
Standort
Berlin
Trophäen
{**!!!}**!!!!! !!!!! !!
#13
Joachim, Danke für die Dialogskalierung! Das ist eine ganz deutliche Verbesserung, wenn auch noch nicht perfekt. Z.T. hilft es, die Taskleiste automatisch auszublenden, wenn der untere Rand des Skriptdialogs sonst nicht erreicht wird. Evtl. könnte die Dialogskalierung den Status der Taskleiste, also die dadurch tatsächlich nutzbare Desktopfläche, noch berücksichtigen?

Noch unklar ist, warum die Skalierung bei einigen Dialogen (s. Bannermaster) gar nicht funktioniert. Evtl. liegt es jedenfalls beim Bannermaster daran, dass hier die reale Bildschirmauflösung ausgelesen wird, um den Platz optimal zu nutzen.

Sub Get_Dialogunits(byRef p_XUnits,byRef p_YUnits)
' ermittelt die Dialogeinheiten des aktuellen Bildschirms
' übergibt in den Übergabeparametern die Werte für die Horizontale und Vertikale
const SM_CXSCREEN=0
const SM_CYSCREEN=1
p_XUnits=FF_GetSystemMetrics(SM_CXSCREEN)*4\(CDbl(FF_GetDialogBaseUnits) Mod &h10000&)
p_YUnits=FF_GetSystemMetrics(SM_CYSCREEN)*8\(CDbl(FF_GetDialogBaseUnits) \ &h10000&)
End Sub

Dieses Vorgehen und die neue Dialogskalierung scheinen nicht zusammenzupassen.
 

HeiM

Mitglied
Dabei seit
08.04.03
Beiträge
5.617
Standort
Leipzig
#15
Bei mir kann ich auch bei 100% gar keine Änderung feststellen.
Mir scheint, als müsste der Scriptrahmen in der Höhe etwas verkleinert werden. Denn die Breite ist OK. da ist sogar noch rechts und links ein wenig Luft.
Bei 150 % fehlt in der Höhe min 1/3 des Fensters. Die Breite wird verändert
In welcher Zeile müsste denn was geändert werden, um den Rahmen in der Höhe etwas kleiner zu machen?

Der Bannermaster läuft bei 150% völlig aus dem Ruder. Das Fenster geht in der Breite über 1 1/2 Monitore. Die Höhe wird entspr. abgeschnitten
 
Zuletzt bearbeitet:

Sasssoft

Mitglied
Dabei seit
02.07.04
Beiträge
5.395
Standort
Albersdorf (Schleswig-Holstein)
Trophäen
{******} ********* !!!!!!!!!!!!
#16
Evtl. könnte die Dialogskalierung den Status der Taskleiste, also die dadurch tatsächlich nutzbare Desktopfläche, noch berücksichtigen?
Damit ist bei etlichen Skripten nicht getan, denn die Dialoghöhe ist deutlich höher als die Bildschirmhöhe; die paar Pixel der Taskleiste sind da bei weitem nicht ausreichend.
Bei mir kann ich auch bei 100% gar keine Änderung feststellen.
So soll es doch auch sein! Nur bei Skalierungen von über 100% werden die Skriptdialoge verändert.

Ansonsten sind die Erscheinungen wie bei Heinz.

Gruß
Alfred
 

HeiM

Mitglied
Dabei seit
08.04.03
Beiträge
5.617
Standort
Leipzig
#17
So soll es doch auch sein! Nur bei Skalierungen von über 100% werden die Skriptdialoge verändert.
So soll es eigentlich nicht sein, dann ich schrieb, dass bereits bei 100% der Button "Rahmung durchführen" fast verschwunden ist.
Bei 150% sieht es dann so aus wie auf deinem Screen.
 

Sasssoft

Mitglied
Dabei seit
02.07.04
Beiträge
5.395
Standort
Albersdorf (Schleswig-Holstein)
Trophäen
{******} ********* !!!!!!!!!!!!
#18
Der Button ist schon seit ewigen Zeit nur knapp erreichbar, vor allem, wenn man unten die Windows-Taskleiste ständig sichtbar hat. Insofern ist das kein Effekt der neuen B25.

Gruß
Alfred
 

praetor

Mitglied
Dabei seit
24.10.04
Beiträge
2.137
Standort
Berlin
Trophäen
{**!!!}**!!!!! !!!!! !!
#19
B25 ist tatsächlich ein zweischneidiges Schwert. Einen meiner Laptop betreibe ich mit
Auflösung: 1920 x 1080 (empfohlen)​
Skalierung: 125 % ( (empfohlen)​
Z.B. das Skript "IPTC eintragen" von Werner war damit bislang gut verwendbar. Mit B25 ist der Dialog zu hoch und die untersten Button sind nicht mehr erreichbar.
Es wäre gut, wenn die neue Skalierung in den FF-Optionen abschaltbar wäre. Dann könnte von Fall zu Fall entscheiden, was gerade mehr oder besser hilft.
Hier im Forum wird ja schon diskutiert, dass man sich eine Vorversion aufbewahren sollte, um für solche Fälle gewappnet zu sein. Auch das zeigt, dass für etwas mehr Flexibilität ein Bedarf besteht.
 
Oben