Farbgebung der Textfelder usw

Hallo
mal wieder ne blöde Frage, ich habe meinen Textfeldern eine graue Farbe zugewiesen, so das sie identisch dem Hintergrund sind.

Nun sitze ich an einem Rechner, wo ein anderer XP-Style definiert ist.
Leider passt dann der Hintergrund nicht mehr zur Farbe und das sieht etwas bescheiden aus.

Kann man den Textfeldern auch keine Farbe zuweisen oder sie transparent definieren???

Mfg Werner

Hallo Werner,

Kann man den Textfeldern auch keine Farbe zuweisen oder sie
transparent definieren???

nicht so ganz einfach.

Was einfach geht, ist die Zuweisung von Systemfarben.
Statt direkt grau zuzuweisen kannst Du auch die Systemfarbe ‚Fensterhintergrund‘ zuweisen, dann passt sich der Hintergrund an die Umgebung an, wenn ich das richtig verstanden habe. Ungetestet, ich habe gerade keine verschiedenen Systeme un das zu überprüfen.

Wenn das so einfach nicht geht, kann man immer noch die registry auslesen und die Werte von dort holen.

Das ist immer noch einfacher, als mir Regions zu hantieren und das Textfenster transparent zu machen.

Gruß Rainer

Hallo Werner,

Hallo,

Kann man den Textfeldern auch keine Farbe zuweisen oder sie
transparent definieren???

Ja das kann man. Man kann sogar bilder in Textboxen einpflegen. Also als Hintergrund. Es ist aber ein Heiden Aufwand.

nicht so ganz einfach.

Was einfach geht, ist die Zuweisung von Systemfarben.
Statt direkt grau zuzuweisen kannst Du auch die Systemfarbe
‚Fensterhintergrund‘ zuweisen, dann passt sich der Hintergrund
an die Umgebung an, wenn ich das richtig verstanden habe.
Ungetestet, ich habe gerade keine verschiedenen Systeme un das
zu überprüfen.

Ja auch das geht. Nur musst du dabei aufpassen. Wenn es sich um eine Systemfarbe handelt kommst du nicht so einfach an den Wert ran.
Du kannst aber das winzige Problemchen mit einer kleinen Routine alla

Private Declare Function GetSysColor Lib "user32" ( \_
 ByVal nIndex As Long \_
 ) As Long

Public Function SysColor(ByVal Color As Long) As Long
 If Color And &H80000000 Then
 SysColor = GetSysColor(Color And &H7FFFFFFF)
 Else
 SysColor = Color
 End If
End Function

umgehen. Nun hast du den Color Wert und weisst ihm den einfach der Textboxen zu. Mit einer kleinen For Each Schleife einfach alle Steuerelemente durchlaufen und bei Bedarf ihnen den Wert zuweisen :wink:

Wenn das so einfach nicht geht, kann man immer noch die
registry auslesen und die Werte von dort holen.

Wenn ich Appetit habe Rainer, dann kaufe ich mir eine Kleinigkeit und nicht ein ganzes Schwein *grins*

Das ist immer noch einfacher, als mir Regions zu hantieren und
das Textfenster transparent zu machen.

Das stimmt. Mit Regions habe ich einmal arbeiten müssen :frowning:

Gruß Rainer

MfG Alex