Label Farbe über Klassenmodul ändern

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Label TextBox


Betrifft: Label Farbe über Klassenmodul ändern
von: Sigi
Geschrieben am: 20.06.2019 10:28:57

Hallo,
ich versuche über "MouseMove" die Farbe von Label's zu verändern.
Leider werden entweder alle mit der gleichen Farbe erstellt oder die Farbe wechselt nicht.
Danke!
Gruß
Sigi
https://www.herber.de/bbs/user/130504.xlsm

Betrifft: AW: Label Farbe über Klassenmodul ändern
von: Hajo_Zi
Geschrieben am: 20.06.2019 10:39:11
Hallo Sigi,

Private Sub objLabel_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
    Dim cb As Control
    Dim ObCb As Object
    For Each ObCb In UF1.Controls
        Select Case TypeName(ObCb)
            Case "Label"
                ObCb.BackColor = 16777215 'weiss
        End Select
    Next ObCb
        If objLabel.Name = objLabel.Name And objLabel.Height = 43 Then
            objLabel.BackColor = 12648447 'Quick
        End If
End Sub

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.

Betrifft: AW: Label Farbe über Klassenmodul ändern
von: Sigi
Geschrieben am: 20.06.2019 10:49:57
Hallo Hajo,
vielen Dank!
Genauso habe ich es mir vorgestellt.
Gruß
Sigi

Betrifft: AW: Label Farbe über Klassenmodul ändern
von: Thomas
Geschrieben am: 21.06.2019 04:46:49
Hallo Hajo,
so etwas suche ich schon lange für Textboxen.
Ich habe dies versucht daraufhin anzupassen. Leider erhalte ich die Fehlermeldung
"Typen Unverträglichkeit".
Geht die mit Textboxen auch?

Private Sub Init_Label()
  Dim objCtl  As Control
  Dim nCnt    As Integer
  For Each objCtl In Me.Controls
    If TypeOf objCtl Is MSForms.TextBox Then
      nCnt = nCnt + 1
      ReDim Preserve m_objtextbox(1 To nCnt)
      Set m_objtextbox(nCnt).objtextbox = objCtl
    End If
  Next objCtl
End Sub
Private Sub objtextbox_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As _
 Single, ByVal Y As Single)
     Dim cb As Control
     Dim ObCb As Object
     
         
For Each ObCb In UF1.Controls
         Select Case TypeName(ObCb)
             Case "Textbox"
                 ObCb.BackColor = 16777215 'weiss
         End Select
     Next ObCb
         If objtextbox.Name = objtextbox.Name Then 'And objtextbox.Height = 43 Then
             objtextbox.BackColor = 12648447 'Quick
         End If
 End Sub
hab schon mal rechtvielen dank für dein Interesse.
MFG Thomas

Betrifft: AW: Label Farbe über Klassenmodul ändern
von: Sigi
Geschrieben am: 21.06.2019 05:49:45
Hallo Thomas,
kleines Muster
https://www.herber.de/bbs/user/130510.xlsm
Gruß
Sigi

Betrifft: AW: Label Farbe über Klassenmodul ändern
von: Luschi
Geschrieben am: 22.06.2019 07:04:41
Hallo Sigi & Thomas,
Hajo's Schleifenlösung sieht zwar optimal aus, verursacht aber eine hohe Aktivität des Farbwechselspiels - bedenkt, jeder kleine Mauswackler über Label bzw. Textbox setzt die Farbe weiß und dann gelb, obwohl sich die Maus immer noch über dem gleichen Steuerelement befindet - das muß nicht sein.
Deshalb hier meine Lösung für die Label-Variante von Sigi , da man es hier im Debug-Modus gut verfolgen kann, die Label-Steuerelemente sind sehr groß: https://www.herber.de/bbs/user/130531.xlsm
Gruß von Luschi
aus klein-Paris
PS: die Debug.Print-Befehle können dann natürlich raus - jeder Debug.Print-Befehl würde in Hajo's Lösung ein Farbwechsel verursachen.

Betrifft: super besten dank an Luschi
von: Thomas
Geschrieben am: 22.06.2019 09:25:53
Hallo Luschi aus klein-Paris,
ja das habe ich auch schon so bemerkt wie du es beschrieben hast.
Deshalb musste ich es erstmal wieder abschalten.
Hab recht vielen vielen dank das du dir dies nochmal angeschaut hast.
und ein schönes Wochenende.
mfg thomas

Betrifft: AW: Label Farbe über Klassenmodul ändern
von: Sigi
Geschrieben am: 22.06.2019 15:13:52
Hallo Luschi,
Danke für Deine Anmerkung.
Habe diese auch umgesetzt.
Gruß
Sigi

Betrifft: AW: Label Farbe über Klassenmodul ändern
von: Hajo_Zi
Geschrieben am: 21.06.2019 06:52:01
case "Textbox" ist richtig.
ich habe folgendes getestet
ObCb.BackColor = &HFF0000

Tabelle1

 AH
2 &H00000000&
3 &H00FFFFFF&
4 &H000000FF&
5 &H0000FF00&
6 &H00FF0000&
7 &H0000FFFF&
8 &H00FF00FF&
9 &H00FFFF00&
10 &H00000080&
11 &H00008000&
12 &H00800000&
13 &H00008080&
14 &H00800080&
15 &H00808000&
16 &H00C0C0C0&
17 &H00808080&
18 &H00FF9999&
19 &H00663399&
20 &H00CCFFFF&
21 &H00FFFFCC&
22 &H00660066&
23 &H008080FF&
24 &H00CC6600&
25 &H00FFCCCC&
26 &H00800000&
27 &H00FF00FF&
28 &H0000FFFF&
29 &H00FFFF00&
30 &H00800080&
31 &H00000080&
32 &H00808000&
33 &H00FF0000&
34 &H00FFCC00&
35 &H00FFFFCC&
36 &H00CCFFCC&
37 &H0099FFFF&
38 &H00FFCC99&
39 &H00CC99FF&
40 &H00FF99CC&
41 &H0099CCFF&
42 &H00FF6633&
43 &H00CCCC33&
44 &H0000CC99&
45 &H0000CCFF&
46 &H000099FF&
47 &H000066FF&
48 &H00996666&
49 &H00969696&
50 &H00663300&
51 &H00669933&
52 &H00003300&
53 &H00003333&
54 &H00003399&
55 &H00663399&
56 &H00993333&
57 &H00333333&
58 Farbname Hex
http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.18 einschl. 64 Bit


Gruß Hajo

Betrifft: Besten dank an Hajo und an Sigi
von: Thomas
Geschrieben am: 21.06.2019 10:28:17
Hallo Hajo und an Sigi,
das klappt habt recht vielen dank für eure Hilfe.
Ich wünsche euch ein schönes wochenende
mfg thomas

Excel-Beispiele zum Thema "Label Farbe über Klassenmodul ändern"