PDA

Vollständige Version anzeigen : Textfeld Hintergrund oder Vordergrundfarbe einstellen


andread
04.10.2001, 09:18
Hallo,
kann man eigentlich in einem Textfeld, ob nun gebunden oder ungebunden, die einzelnen Zeichen, vom Inhalt des Zeichens an der entsprechenden Stelle abhängig, in unterschiedlichen Vordergrund- oder Hintergrundfarben darstellen?

Grüsse
Andrea

Franz_2
04.10.2001, 11:56
Siehe Access Hilfe

BorderColor-, BackColor-, ForeColor-Eigenschaft (Rahmenfarbe, Hintergrundfarbe, Textfarbe) - Beispiel

Im folgenden Beispiel werden die Eigenschaften BorderColor, BackColor und ForeColor mit der Funktion RGB abhängig davon eingestellt, welchen Wert das Textfeld txtÜberfällig hat. Sie können diese Eigenschaften auch mit der Funktion QBColor einstellen. Wird der folgende Code in die Ereignisprozedur Form_Current( ) eingefügt, werden die Farbmerkmale für die Anzeige des Textfelds eingestellt, sobald der Benutzer das Formular öffnet oder zu einem anderen Datensatz wechselt.

Sub Form_Current()
Dim curFälligerBetrag As Currency, lngSchwarz As Long
Dim lngRot As Long, lngGelb As Long, lngWeiß As Long

If Not IsNull(Me!txtÜberfällig.Value) Then
curFälligerBetrag = Me!txtÜberfällig.Value
Else
Exit Sub
End If
lngRot = RGB(255, 0, 0)
lngSchwarz = RGB(0, 0, 0)
lngGelb = RGB(255, 255, 0)
lngWeiß = RGB(255, 255, 255)
If curFälligerBetrag > 100 Then
Me!txtÜberfällig.BorderColor = lngRot
Me!txtÜberfällig.ForeColor = lngRot
Me!txtÜberfällig.BackColor = lngGelb
Else
Me!txtÜberfällig.BorderColor = lngSchwarz
Me!txtÜberfällig.ForeColor = lngSchwarz
Me!txtÜberfällig.BackColor = lngWeiß
End If
End Sub

andread
04.10.2001, 12:23
Hallo Franz,
danke für deinen Beitrag.

Ich glaube Ihn jedoch so zu verstehen das damit das gesamte Textfeld eine bestimmte Farbe erhalten wird.

Ich suche eine möglichkeit nur einzelen Zeichen innerhalb eines Textfeldes in verschiedenen Farben darzustellen.

Zb."00000001111111111000000001111111"
die 0 soll grün und die 1 rot werden!!

Wie machet man so etwas?
oder muss man es anders als mit einem Textfeld machen? Diese Möglichkeit wäre auch akzeptabel für mich!

Danke
Andrea

Ronald Rappe
05.10.2001, 20:11
Hallo Andrea,
ich stöbere hier häufiger so durch das Forum und finde deine Frage grundsätzlich interessant!
Eine Idee habe ich dazu auch nicht.

Bin jedoch echt verblüfft das selbst die Cracks hier versagen und noch nichtmals alternativen aufzeigen wie man so eine sache anders darstellen könnte.
Vielleicht den Textstring auswerten und anstelle dessen etwas anderes Farbiges ausgeben um dein Problem mit roten einsen und grünen nullen graphisch darzustellen.

Wie schon gesacht ich bin halt nur öfter hier als Zaungast um mich zu inspirieren.

Schade das selbst die Profis von Forenmaster hier nichts zu schreiben können!

Grüsse
Ronald

doktor
05.10.2001, 20:47
Hi
Ich meine objectorientierte Programmierung kann auf die Eigenschaften des Objectes zugreifen.
Ich bin noch VBA Anfänger aber ich kann mir sehr gut vorstellen das man das Steuerelement selbst programmieren kann,für jedes Zeichen ein textfeld,den string zerlegen und mit eine schleife einzeln und bedingt in den nebenanander liegenden Feldern anzeigen.
doc

MarioR
05.10.2001, 21:43
Hallo Andrea,

hier schreibst Du, dass Dein Textfeld 32 Zeichen lang ist: Textfeldinhalt durch Eingabe von Pos ab /bis ändern (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=49832)
Wenn ich jetzt die Trennzeichen wegrechne, müssten das 16 Stellen mit jeweils einer 1 oder 0 sein.

Wie wär's denn, wenn Du 16 Textfelder hintereinander packst. Ich denke mal, dass es bei der Menge noch vertretbar ist. Mit ein paar Einstellungen kann man optisch fast ein Textfeld draus machen und Du kannst jede Zahl für sich bunt anmalen.
Und wenn das Ganze eine Bitcodierung von irgendwas darstellen soll (denk ich mal), dann sieht es vielleicht gar nicht so schlecht aus, wenn jede Stelle getrennt für sich steht.