BackColor von TextBox auf Frame

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm Frame TextBox
Bild

Betrifft: BackColor von TextBox auf Frame von: Vliegen
Geschrieben am: 15.03.2005 20:04:18

Hallo allesamt,

Habe noch eine zweite Frage :
Auf einem Form kann ich die Hintergrundfarbe einer Textbox verändern wenn diese aktiv ist.

Habe dazu ein Makro mit


Sub HintergrundFärben ()
Me.ActiveControl.BackColor= RGB (x,x,x) 
End Sub


'und ein anderes zu zurückstellen der weissen Farbe.

Sub HintergrundZurückstellen ()
Me.ActiveControl.BackColor= RGB (255,255,255) 
End Sub


Bei Enter oder Exit der einzelnen TextBoxen starte ich dann das jeweils zugehörige dieser beiden Makros. Das geht auch gut.

Aber

Sobald die Textboxen auf einem Frame sind leuchtet dieses und nicht die Textbox.
Hab versucht mit Parent das Frame farblich auszuschalten aber das klappt auch nicht. Dann wird die gesamte Userform blass aber immer noch nicht das Frame.

Kann mir da jemand weiterhelfen ?

Würde mich sehr freuen.


MfG Francois
Bild


Betrifft: AW: BackColor von TextBox auf Frame von: Nepumuk
Geschrieben am: 15.03.2005 20:28:03

Hallo Francois,

das ist auch richtig so, denn das aktive Control im Form ist der Frame. Die Textbox darauf ist ein Control dessen. Der Frame ist wie ein kleines Form im Form. Die Controls darauf kannst du so ansprechen:


Private Sub HintergrundZurückstellen()
    If TypeOf Me.ActiveControl Is Frame Then
        Me.Controls(ActiveControl.Name).ActiveControl.BackColor = RGB(255, 255, 255)
    Else
        Me.ActiveControl.BackColor = RGB(255, 255, 255)
    End If
End Sub


Gruß
Nepumuk


Bild


Betrifft: AW: BackColor von TextBox auf Frame von: Bert
Geschrieben am: 15.03.2005 20:28:37

Stell in der Aktivierreihenfolge des Frames diesen nach ganz unten.

Bert


Bild


Betrifft: AW: BackColor von TextBox auf Frame von: Vliegen
Geschrieben am: 15.03.2005 20:44:21

Danke beiden,

Aber ich bin nicht ganz zufrieden mit den Antworten.
Leider erscheint damit die Textbox im Frame (hab ja da eine draufgeklebt) ja nicht farblich wenn ich sie aktiviere.

Die anderen rund um das Frame klappen nach der Methode von Nepumuk . Aber beim Schliessen der Form gibt es eine Bugg.

Kann man die Textboxen auf dem Frame nicht separat färben ohne das Frame selbst. Habe festgestellt dass die in der Aktivierreihenfolge gar nicht erscheinen. Habe die keine eigenen Identität ?

François


Bild


Betrifft: AW: BackColor von TextBox auf Frame von: Bert
Geschrieben am: 15.03.2005 20:54:51


Sub HintergrundFärben ()
Frame1.ActiveControl.BackColor= RGB (x,x,x) 
End Sub


Bert


Bild


Betrifft: AW: BackColor von TextBox auf Frame von: Vliegen
Geschrieben am: 15.03.2005 21:06:11

Danke Bert,

Läuft wenn ich den Code beim Enter-Ereignis der Textbox einfüge.

Bei Exit allerdings klappt es dann nicht mehr. Die Farbe bleibt auch wenn ich die RGB zurückstelle. Warum ?

Würde mich freuen diese letzte Hürde aus der Welt geschafft zu wissen.

Danke

Francois


Bild


Betrifft: AW: BackColor von TextBox auf Frame von: Nepumuk
Geschrieben am: 15.03.2005 20:57:44

Hallo François,

wie schon geschrieben, ist die Textbox im Frame ein Control des Frames. Dieser hat eine eigene Aktivierreihenfolge (Rechtsklick auf den Frame - Aktivierreihenfolge). Da ich nicht weiß mit welchem Ereignis die Box gefärbt / entfärbt werden, habe ich nur deinen Code erweitert.

Gruß
Nepumuk


Bild


Betrifft: AW: BackColor von TextBox auf Frame von: Vliegen
Geschrieben am: 15.03.2005 21:11:22

Hallo Nepumuk

Färben und Entfärben erfolgt über Enter und Exit Ereignis der Textbox.

Beim Ente hat mir Bert den Code gegeben. Bei Exit läuft es noch nicht.

François


Bild


Betrifft: AW: BackColor von TextBox auf Frame von: Nepumuk
Geschrieben am: 15.03.2005 21:24:25

Hallo François,

mal ein Beispiel für ein Frame mit zwei Textboxen (1 und 2) und einer Textbox (3) auf dem Form:


Private Sub Frame1_Enter()
    TextBox1.BackColor = RGB(255, 0, 0)
End Sub

Private Sub Frame1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox1.BackColor = RGB(255, 255, 255)
    TextBox2.BackColor = RGB(255, 255, 255)
End Sub

Private Sub TextBox1_Enter()
    TextBox1.BackColor = RGB(255, 0, 0)
End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox1.BackColor = RGB(255, 255, 255)
End Sub

Private Sub TextBox2_Enter()
    TextBox2.BackColor = RGB(255, 0, 0)
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox2.BackColor = RGB(255, 255, 255)
End Sub

Private Sub TextBox3_Enter()
    TextBox3.BackColor = RGB(255, 0, 0)
End Sub

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox3.BackColor = RGB(255, 255, 255)
End Sub


Gruß
Nepumuk


Bild


Betrifft: AW: BackColor von TextBox auf Frame von: Vliegen
Geschrieben am: 15.03.2005 21:45:14

Danke Nepumuk,

Das klappt prima. Vielen Dank schonmal dafür.

Bin jetzt mal dreist denn ich hab noch ein zweites Problem mit der Userform. Nämlich mit der Erfassung der Daten und dem Einlesen der TextBoxen und ComboBoxen. Steht in Beitrag etwas tiefer mit der Frage ActiveCell und Offset.

Könntest du dich dieser Problematik vielleicht auch annehmen denn du scheinst kompetent und ich krieg das Ding irgendwie nicht ans laufen und es ist eine dringende Sache. Wie gesagt es läuft auf anderen Forms nach dem Muster aber hier nicht.

Würde mich freuen.

Danke


 Bild

Beiträge aus den Excel-Beispielen zum Thema "BackColor von TextBox auf Frame"