Anleitung für FixFotos Skript-Dialogeditor

Anleitung für FixFotos Skript-Dialogeditor 2016-03-05

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#41
AW: Anleitung für FixFotos Skript-Dialogeditor

Ich habe es nicht selbst probiert aber probier doch mal was bei
Code:
SS_ENDELLIPSIS 4000 16384 - keine Wirkung erkennbar
SS_WORDELLIPSIS C000 49152 - keine Wirkung erkennbar
pasiert wenn der Text länger als im Control darstellbar ist.
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.810
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#42
AW: Anleitung für FixFotos Skript-Dialogeditor

Hallo Heinz,
Du hast recht, es gibt eine Wirkung.
Wenn der Text länger ist als das Element, wird dies durch Punkte angedeutet (Beisp...).
Ich habe die Tabelle oben entsprechend geändert. Seltsam ist nur, dass die Wirkung für SS_ENDELLIPSIS und SS_WORDELLIPSIS gleich ist.

Jetzt aber habe ich eine Internetseite gefunden, die hoffentlich Auskunft über alle Konstanten gibt. Die werde ich jetzt mal durcharbeiten.
 
Zuletzt bearbeitet:

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#43

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.810
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#44
AW: Anleitung für FixFotos Skript-Dialogeditor

Gib Billyboy eine Chance, biete im Text aus mehreren Wörtern.
Dann wird wahrscheinlich SS_WORDELLIPSIS nur an Wordgrenzen abschneiden und mit "..." auffüllen
Nee, leider kein Unterschied. Wenn ich zum Testen "Beispiel und noch ein Beispiel" benutze und das Element begrenze, wo das Wort "und" steht, wird in beiden Fällen " "Beispiel un..." gezeigt. Es gibt beim FF_Dialogeditor anscheinend Begrenzungen der Möglichkeiten, nur sollten sie dann auch nicht angeboten werden |) , oder?
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.810
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#45
AW: Anleitung für FixFotos Skript-Dialogeditor

Die Style-Tabelle oben wurde nach intensiven Recherchen und Austesten im Dialogeditor komplett überarbeitet. Einige, im Internet beschriebenen Eigenschaften treffen nicht ganz auf die Wirkung im FF-Dialogeditor zu. Die Kurzbeschreibung in der Tabelle wurde entsprechend angepasst.
Nach wie vor unklar ist, dass die Styles zu dem Element BUTTON absolut keine Wirkung zeigen. Habe ich ein Problem auf meinem Rechner oder liegt hier ein Fehler im FF-Programm vor?
 

W.P.

Mitglied
Dabei seit
16.10.02
Beiträge
5.099
Standort
Anzing BY
#46
AW: Anleitung für FixFotos Skript-Dialogeditor

Hallo Mecki14,

einige Styles müssen bereits beim Initialisieren angegeben werden, sonst haben sie keine Wirkung. Darum kannst Du auch kein Textfeld ohne Rahmen oder mit 3D-Rahmen (WinMe) erzeugen.
Gleiches trifft für Schaltflächen zu.
 

W.P.

Mitglied
Dabei seit
16.10.02
Beiträge
5.099
Standort
Anzing BY
#48
AW: Anleitung für FixFotos Skript-Dialogeditor

Gar nicht, weil es nicht geht! Hier kann nur Joachim selbst eingreifen.
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#49
AW: Anleitung für FixFotos Skript-Dialogeditor

Mecki,
du müstes FF_SetConrolStyle aufrufen bevor du überhaupt ein Control hast.
Sozusagen als Erbmaterial für das Erzeugen des Controls.
Nach FF_AddControl ist schon alles zuspät.
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.810
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#50
AW: Anleitung für FixFotos Skript-Dialogeditor

Joachim hat inzwischen auf eine PN wie folgt geantwortet:

mehr als werner kann ich auch nicht sagen. da etliche stile nicht nachträglich geändert werden können, gebe ich einen default vor.
diese dialogmimik hat nicht den anspruch, sämliche möglichkeiten des systems zur verfügung zu stellen...
Er verzeiht mir hoffentlich, dass ich seine Antwort öffentlich mache.

Ich stelle also fest, dass meine bestehende Tabelle für den FF_Dialogeditor in die Beschreibung unverändert übernommen werden kann.
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.810
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#51
AW: Anleitung für FixFotos Skript-Dialogeditor

Jetzt habe ich alle Dialogbefehle ausprobiert, um sie zu verstehen und näher beschreiben zu können. Bei zweien beiße ich mir die Zähne aus. In der Hilfe stehen sie wie folgt:

FF_SendControl("dialog","control","message",wparam,lparam)

Steuerelement-Typ LABEL, entspricht EDIT ohne WS_BORDER und mit ES_READONLY

dialog = Name des Dialogs
control = Name des Steuerelements
value = Wert des Steuerelements
message = Text


FF_SetDialogTimer("name", msec)
Aktiviert einen Timer, der den Rückgabewert "TIMER" aus FF_ShowDialog() liefert.

msec = Zeit in ms (0 = Timer aus)

Erbitte Hilfe, das zu verstehen - vielleicht mit einem kleinen Beispiel in VBS-Sprache.
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#52
AW: Anleitung für FixFotos Skript-Dialogeditor

FF_SendControl("dialog","control","message",wparam,lparam)
Ist der direkte Durchgriff auf das zugrundeliegende Windows API.
Die Erklärung füllt Bücher.
Ich habe diese Funktion noch nicht benötigt.

FF_SetDialogTimer()
Dies ist ganz neu in FF.
Normalerweise wird ein Script ja angehalten wenn du FF_SHowDialog() aufgerufen hast.
Die Kontrolle kehrt ja erst zu deinem Script zurück wenn der Mensch irgendwo klickt, oder eine
Taste drückt. Das Script steht solange und wartet.
Mit diesem Aufruf wird ein Windows Timer gesetzt, der nach Ablauf, die Kontrolle an dich
zurück gibt. Statt des angeklickten Controls bekommst du dann "TIMER" als Ergebnis von FF_ShowDialog().
Dein Script kann dann in den Pausen irgendetwas tun und FF_SHowDialog() erneut aufrufen.
Diese "Tätigkeit" sollte aber nicht zulange dauern, sonst meint der Mensch wiederum das Script
würde nicht auf seine Interaktion reagieren.

Soweit jedenfalls mein bisheriges Verständnis. Benutzt habe ich diese Funktion auch noch nicht.
Vor einiger Zeit hat Joachim ja schon FF_RefreshDialog eingeführt. Damit lässt sich das ähnliches erreichen.
 

W.P.

Mitglied
Dabei seit
16.10.02
Beiträge
5.099
Standort
Anzing BY
#53
AW: Anleitung für FixFotos Skript-Dialogeditor

FF_SetDialogTimer ermöglicht im Gegensatz zu RefreshDialog auch eine Interaktion mit den Dialog-Controls, während FF_Refresh nur die Möglichkeit bietet, über den Befehl FF_CheckKey Tastaturereignisse abzufragen.
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#54
AW: Anleitung für FixFotos Skript-Dialogeditor

Das stimmt so nicht.
Ich setze z.B. den Dateinamen in ein EDIT-Control, und das Vorschaubild in ein IMAGE-Control.
Klappt prima zwischen zwei mal FF_RefreshDialog.
Siehe z.B. mein GeoLoc2IptcOrExif.

Edit:
Der Dialog wird dann aber mit FF_OpenDialog erstmalig angezeigt, nicht mit FF_ShowDialog
 

W.P.

Mitglied
Dabei seit
16.10.02
Beiträge
5.099
Standort
Anzing BY
#55
AW: Anleitung für FixFotos Skript-Dialogeditor

Hallo Heinz,

setzen und anzeigen kannst Du Werte, das ist richtig.
Jedoch kannst Du keine Anwenderaktionen am Dialog abfragen. In einer Schleife mit FF_RefreshDialog kannst Du das Fenster nicht über den Schließen-Button oben rechts schließen, oder eine andere Schaltfläche abfragen. Interaktion sind immer beide Seiten.
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#56
AW: Anleitung für FixFotos Skript-Dialogeditor

Das ist (leider) richtig,
aber man kann in der Schleife zwischen FF_ShowDialog() und FF_RefreshDialog wechseln.
mein GeoLoc2IptcOrExif hält zum Beispiel durch Aufruf von FF_SHowDialog() an,
wenn es mehrer Ort für ein Bild findet.
Wenn keiner oder nur ein Ort gefunden wird, geht es mit der FF_RefreshDialog() Schleife ohne
Pause weiter.

Eine Timer-Schleife würde ich nur im außersten Notfall benutzen.
 

W.P.

Mitglied
Dabei seit
16.10.02
Beiträge
5.099
Standort
Anzing BY
#57
AW: Anleitung für FixFotos Skript-Dialogeditor

Du kannst ja mit dem Auslösezeitpunkt variieren. Wenn Du Timer nicht mehr brauchst, auf 0 setzen. Sie bietet zumindest dem Anwender, vor allem den reinen Mausschubsern, eine gewohnte Möglichkeit zum Abbrechen.
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.810
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#58
AW: Anleitung für FixFotos Skript-Dialogeditor

Hallo Heinz, hallo Werner,
vielen Dank für die Antworten. Ich habe leider nicht alles verstanden, aber soviel ist hängengeblieben:

FF_SendControl werde ich in meiner Beschreibung einfach mit dem Hinweis "ist der direkte Durchgriff auf das zugrunde liegende Windows API (nur für Experten)" versehen.

FF_SetDialogTimer ist jetzt soweit klar, aber ein direkte, praktische Anwendung fällt mir nicht dazu ein
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.810
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#60
AW: Anleitung für FixFotos Skript-Dialogeditor

Damit läßt sich z.B. der lang gehegte Wunsch nach direkter Reaktionsmöglichkeit auf Slider realisieren.
Damit würde ja mein Wunsch, den ich bei meiner Fehlermeldung zum VSLIDER geäußert habe, erfüllt. Wenn man Dein beigefügtes Beispiel testet, sieht man auch, dass es funktioniert.
Nur leider gelingt es mir nicht, Dein Skript in ein einfaches VB-Skript-Beispiel (ein Slider und ein SLEDIT-Element, in dem man die Änderung von besipielsweise 60 bis 100 sehen kann) umzusetzen. Da ich mich noch immer in der Einarbeitungsphase zu VBS befinde, ist es für mich sehr schwierig das Java-Skript FFDialog.js, in dem ich den Befehl FF_SetDialogTimer gefunden habe, zu verstehen.
 
Oben