Textelement Farbwert zuweisen ohne Wirkung ? [gelöst]

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Textelement Farbwert zuweisen ohne Wirkung ? [gelöst]

Beitrag von clag »

Hallo Kenner und Könner,

ich möchte einem Textelement auf einer Drawpage in einem WriterDokument eine andere Farbe zuweisen,
aber die Zuweisung eines anderen Wertes bleibt ohne Wirkung das Element behält die vorherige Farbe obwohl der Wert geändert wurde!?

Zuerst habe ich den Text manuell auf Gelb formatiert und mit xray untersucht, dann habe ich dem Text manuell auf Hellblau formatiert und wieder mit Xray untersucht,
die beiden xray Ausgaben habe ich verglichen um heraus zu bekommen welche Werte nun tatsächlich geändert wurden....
farbwert_zuweisen.png
farbwert_zuweisen.png (11.4 KiB) 733 mal betrachtet
Wenn ich nun per Makro dem Text eine andere Farbe zuweise (Hellmagenta)

Code: Alles auswählen

thisElement(x).CharColor = 16711935
wird der Wert bei erneuter Überprüfung mit xray zwar angezeigt der Text ändert aber nicht seine Farbe?
Hat da jemand eine Idee, was ist da bzw was mach ich falsch?
Zuletzt geändert von clag am Do, 14.10.2010 07:42, insgesamt 1-mal geändert.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Textelement Farbwert zuweisen ohne Wirkung ?

Beitrag von balu »

Hallo clag,

ich kann dir nur eins sagen, dass das so nicht funktioniert.
Und warum nicht?
Na ganz einfach, weil Dannehöfer das mir so zeigte. Denn Du übergibst CharColor falsche Werte die so nicht verarbeitet werden können. Richtig wäre beispielsweise:

Code: Alles auswählen

myCell.charcolor=&H000000
Mit "&H" wird mitgeteilt das die folgenden Zahlen ein Hexadezimaler Code sind. Aber so etwas teilst Du ja in deinem Beispiel ja nicht mit, Du gibst da irgendwelche Zahlen an die CharColor nicht versteht.
Hier mal die Hex-Werte für die von dir genannten Farben:
Gelb = #ffff00
Hellblau = #0000ff
Hellmagenta = #ff00ff

Für weitere Infos gehst Du, ... na Du weißt schon zu wem :wink:.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Textelement Farbwert zuweisen ohne Wirkung ?

Beitrag von clag »

Hi Balu,

erstmal Danke

die Hoffnung keimte kurz auf :) aber dann "plopp" nee doch nich :(

wenn ich die Werte so über gebe wie du vorschlägst passiert genau das gleiche,
der Wert wir übernommen aber der Text ändert nicht die Farbe :?
versucht mit Grün

Code: Alles auswählen

thisElement(x).CharColor = &H00FF00
xray zeigt danach "long 65280" was soweit auch korrekt ist aber der Text ist immer noch hellgrau wie vorher!?

Ein auf die selbe Art übergebener geänderter String wird angenommen und auch angezeigt!

so'n shiet aber auch
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Textelement Farbwert zuweisen ohne Wirkung ?

Beitrag von balu »

Hallo clag,

nun sagen wir es mal so: Eine mögliche Fehlerquelle ist jetzt wohl schon mal ausgeschlossen.
Beri dem rest kann ich dir nicht helfen.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Textelement Farbwert zuweisen ohne Wirkung ?

Beitrag von Karolus »

Hallo
Ich erweitere mal das Beispiel aus einem anderen Clag-Thema:

Code: Alles auswählen

Sub stempelaendern
stempel = thiscomponent.Drawpage.getbyindex(0)
stempel.setstring( "blob" & chr(13) & date )
stempel.text.Charcolor = rgb(0,0,255)
stempel.fillstyle = 0
stempel.linecolor = rgb(5,0,255)
stempel.LineWidth = 100
xray stempel.text
End Sub
und siehe da - die Änderungen der Farben und der Linienstärke werden umgesetzt.

Clag liefere doch bitte die relevanten Teile deines Codes, damit man wenigstens ahnen kann was du gerade anstellst.

@Balu
Farbwerte können sowohl dezimal als auch hexadezimal angegeben werden, ich bevorzuge da die direkte Umrechnung via RGB( ) (siehe oben )

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Textelement Farbwert zuweisen ohne Wirkung ?

Beitrag von balu »

Hallo Karo,
Farbwerte können sowohl dezimal als auch hexadezimal angegeben werden, ich bevorzuge da die direkte Umrechnung via RGB( ) (siehe oben )
Ich weiß. Und deshalb hatte ich ja auch extra
Richtig wäre beispielsweise:
gesagt, da mir das mit dem RGB() bekannt ist. Und wenn clag sich bei, ... na Du weißt schon, umgeschaut hätte, dann wüsste er das ja auch.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Textelement Farbwert zuweisen ohne Wirkung ?

Beitrag von clag »

Hallo Karo,

dein Beispiel hat wieder meine Hoffnung aufkeimen lassen, aber ich "krieg's nicht auf den Schirm"
drum hänge ich mal meine Versuchsdatei an.

die beiden Stempel in Farbe und Inhalt ändern .......

mein Fernziel ist es auf einer Vorlage Buttons zu platzieren, mit denen man solche Stempel in das generierte Dokument setzen kann
um den Status einer zugeordneten real Aktion deutlich zu machen.

Da hängen dann noch eine ganze Menge anderer Fragen dran
zB wie mache ich den Stempel wenn er das richtige Format und Datum hat per Makro zu einem Bitmap mit transparenten Hintergrund
(damit er nicht versehentlich geändert wird)
oder ist es Sinnvoll die Stempel in der Vorlage zu verstecken oder besser ein extra Dokument und von da kopieren?


aber erstmal wäre ich ja schon froh wenn ich die Texteigenschaften setzen könnte.....

@ Balu
das die Farbwerte auch in RGB angegeben werden könne ist mir schon bekannt, (allerdings weiß ich nicht, ob es generell für alle Farbangaben möglich ist),
da es mit RGB bei den ersten Versuchen nicht geklappt hat habe ich die long Variante gewählt und dann die von die vorgeschlagene hex Variante,
aber damit hat es ja scheinbar nichts zu tun.
Mir wäre es aber am liebsten man könnte immer die RGB () Variante anwenden, da ich dabei am ehesten eine Farbvorstellung habe.....

und im Moment ist mir mein BasicSAU status wieder ganz deutlich vor Augen :roll:

(jetzt brauch ich eigentlich nur noch den Tip, benutze xray) :twisted: um glücklich zu werden.....
stempel-versuche.odt
(15 KiB) 24-mal heruntergeladen
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Textelement Farbwert zuweisen ohne Wirkung ?

Beitrag von DPunch »

Aloha

Als kleiner Denkanstoss:

Code: Alles auswählen

	(...)
	If thisElement(x).Name = "Stempel_Nummer" Then
		oTextCursor = thisElement(x).createTextCursor
		oTextCursor.gotoStart(False)
		oTextCursor.gotoEnd(True)
		xray oTextCursor
		(...)
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Textelement Farbwert zuweisen ohne Wirkung ?

Beitrag von clag »

Hallo DPunch,

jouh, nu is alles paletti, kaum macht man es richtig schon funktioniert es :D
nun sag mir aber bitte wie soll man da als BasicSAU darauf kommen bzw wo kann man das erlesen?
man da hätte ich noch lange experimentieren können ....

Aber mal ganz ehrlich, so unter uns, hört ja gerade keiner zu, von welchem Basic Zaubertrank nascht du vorm schlafen gehen?
Kannst du mir nicht auch mal eine Flasche...? hm ne besser nen Fass davon zu kommen lassen,
vielleicht hilft das Extrakt ja auch bei mir, du bist doch als Kind bestimmt hineingefallen, stimmt's oder habe ich recht? :lol:

Danke !


Hey Karolus und Balu, euch gilt mein Dank genauso, bin mir sicher Ihr habt noch den einen oder anderen Gedanken dazu gehabt und verfolgt.....
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Antworten