Hallo Scripter,
mit QXP 7.x kann nicht nur die Position einer Textbox, sondern auch die Textkette gesperrt werden (siehe auch das Thema "QXP: Gesamter Text auf Schriftbreite 100%"
http://www.page-online.de/forum/viewthread/3519/).
Ausprobieren: Eine Textbox erzeugen, etwas Text tippen und dann im Menü "Objekt/Sperren" den Unterartikel "Textkette" wählen. Vor diesem Artikel wird ein Häkchen gesetzt.
Wenn man nun mit dem Inhaltswerkzeug über die Box fährt, dann wird der Mauszeiger zum Vorhängeschloss. Der Text kann zwar noch ausgewählt und kopiert werden. Aber weder Änderungen des Inhalts noch der Formatierung sind möglich.
Das Ergebnis des folgenden Scripts bestätigt dies:
Im Fenster steht:
---
{
true,
true}
---
Sowohl Inhalt als auch Formatierung sind gesperrt.
Und nur per Script ist es möglich, nur die Formatierung zu entsperren:
Jetzt kann dem Text eine andere Schrift zugewiesen werden. Auch die Grösse, die Farbe, der Zeilenabstand kann verändert werden. Alles, was unter den Begriff "Formatierung" fällt.
Das Häkchen vor dem Menüartikel "Textkette" ist durch einen waagrechten Bindestrich ersetzt worden.
Die beiden Eigenschaften können nicht beliebig separat gesetzt werden. Wenn der Inhalt nicht gesperrt ist, dann wird der Versuch, die Formatierung zu sperren, eine Fehlermeldung verursachen.
Weil man in den meisten Fällen nicht weiss, in welchem Zustand eine Textkette ist, müssen zuerst die beiden Optionen abgefragt werden:
Das Ergebnis wird meistens {
false,
false} sein. Oder aber {
true,
true}. Auch {
true,
false} kann vorkommen. Aber {
false,
true} ist unmöglich.
Deshalb lautet der Code, um den Inhalt einer Textkette in jedem Fall zu sperren aber die Formatierung zuzulassen:
---
tell document 1
of application "QuarkXPress 7.31"
tell current box tell story 1
set {
contLock,
formLock}
to {
content lock,
format lock}
if contLock and formLock then set format lock to false else if contLock and not formLock then --
nichts machen else set {
content lock,
format lock}
to {
true,
false}
end if end tell end tell end tell ---
Während beim Sperren immer der Inhalt zuerst gesetzt werden muss, ist es beim Entsperren umgekehrt:
---
tell document 1
of application "QuarkXPress 7.31"
tell current box tell story 1
try set {
format lock,
content lock}
to {
false,
false}
end try end tell end tell end tell ---
Gruss, Hans