Support Forum

[Frage] Mehrzeiliges Beschriftungsbild


Moin liebe Gemeinde,

ich habe - mal wieder - eine Frage:
Mit der Formel von Nemo aus diesem Thread: Forum_Beitrag konnte ich ein mehrzeiliges Beschriftungsbild erstellen.

Leider geht die zugewiesene Formatierung beim Zeilenumbruch verloren. Die erste Zeile wird dargestellt, wie eingegeben, die zweite im Allplan-internen Standard. Wie kommt das und - viel wichtiger: wie kann ich das beheben.

Siehe Screenshot zur Verdeutlichung.

Frohes Schaffen euch allen zusammen, bleibt gesund,
beste Grüße

Tom

Anhänge (1)

Typ: image/jpeg
84-mal heruntergeladen
Größe: 56,70 KiB

Hilfreichste Antwort anzeigen Hilfreichste Antwort verbergen

Der Font ist bei einigen Beschriftungsbildern Teil des TEXTes:

%F{ISOCPEUR|TEXT%F}

Ein Zeilenumbruch beendet offensichtlich die Maskierung mit %F.
D.h. Du müsstest die 2. Textzeile mit "%F{ISOCPEUR|" vor und "%F}" danach einschliessen.

...oder Arial verwenden, da passiert das nicht!

Der Font ist bei einigen Beschriftungsbildern Teil des TEXTes:

%F{ISOCPEUR|TEXT%F}

Ein Zeilenumbruch beendet offensichtlich die Maskierung mit %F.
D.h. Du müsstest die 2. Textzeile mit "%F{ISOCPEUR|" vor und "%F}" danach einschliessen.

...oder Arial verwenden, da passiert das nicht!

Hallo Nemo,

vielen Dank, dass du dich der Sache noch mal annimmst. Könntest du mir evtl. noch den Tipp geben, an welcher Stelle ich %F{ISOCPEUR|TEXT%F} eingeben muss?
Ich verwende tatsächlich Arial. Der Unterschied ist lediglich, dass die erste Zeile (so wie gewollt) Fett gedruckt wird und die zweite Zeile (anders als gewünscht) wieder Arial normal.

Hallo Tom,

bei Fettdruck muss man dan Text mit %B{TEXT%B} maskieren.
Eingeben müßte man das in der VBS-Formel:

Function multiLineMinBold(strText,minLength)
	strRemain = strText
	strResult = ""
	iLen=CInt(minLength)
	Do While True
		pos = InStr(iLen,strRemain," ")
		If pos = 0 Then
		    If Len(strResult) > 0 Then
				strResult = strResult + "%B}" + vbCr + "%B{"
		    End If
		    strResult = strResult + strRemain
			strRemain = ""
		    Exit Do
		Else
		    If Len(strResult) > 0 Then
				strResult = strResult + "%B}" + vbCr + "%B{"
		    End If
		    strResult = strResult + Mid(strRemain,1,pos)
		    strRemain = Mid(strRemain,pos+1,Len(strRemain))
		End If
	Loop
	multiLineMin = strResult
End Function

Das funktioniert aber nur, solange der zu unterteilende Text schon Fett ist, also so aussieht: %B{TEXT%B}
Ich habe das jetzt nicht getestet, und würde Dir von derlei "Mätzchen" abraten.

Mach den Text ohne Fett, oder gleich als 2 Texte und alles ist gut!

Hallo Nemo,
vielen vielen Dank.
Wenn du schon davon abrätst, dann sollte ich es wohl tatsächlich besser sein lassen
Ich bespreche das mal mit unserem Zuständigen für Bürostandard und rate zu einfachem Arial.

Frohes Schaffen und nochmals Dankeschön.


Verwendung von Cookies:
Um die Webseite optimal gestalten und fortlaufend verbessern zu können, verwendet Allplan Cookies.
Durch die weitere Nutzung der Webseite erklären Sie sich mit der Verwendung von Cookies einverstanden.  -  Mehr Informationen

Schließen