17. marts 2004 - 12:28Der er
5 kommentarer og 1 løsning
Skift farve på tekst, hvis der er valgt mørk baggrundsfarve.
Jeg har en form, hvor brugeren har mulighed for at vælge hvilken baggrundsfarve formen skal have, via en common control dialog.
hen over formen har jeg noget tekst, med standard-farve sort.
Det jeg så gerne vil have, er en måde hvor at når en farve bliver valgt, så skal det vurderes om den er mørk eller ej. Hvis den så er mørk, skal farven på teksten blive hvid.
Her er en funktion, der (lidt forsimplet) laver en farve om til en gråtone.
Function gråtone(farve As Long) As Long Dim r As Integer Dim g As Integer Dim b As Integer Dim grå As Integer
r = farve And &HFF& g = (farve \ 256) And &HFF& b = (farve \ 65536) And &HFF& grå = (r + g + b) \ 3 gråtone = grå + 256& * grå + 65536 * grå End Function
Den kan du fx bruge sådan:
If (gråtone(Form1.BackColor) And &HFF) < 128 Then Label1.ForeColor = vbWhite Else Label1.ForeColor = vbBlack End If
Du kan justere grænsen (128) hvis det ikke passer.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.