Funkce:
Private Function gfnH2D(sChar
As String) As Integer
Select Case sChar
Case "0" To "9"
gfnH2D = Val(sChar)
Case "A" To "F"
gfnH2D = Asc(sChar) - 55
Case Else
Exit Function
End Select
End Function
Public Function gfnLongToRGBString(lColor As Long) As String
Dim sHex$, sHexString$
Dim sString As String * 6
sHexString = Hex$(lColor)
sString = "000000"
RSet sString = sHexString
iBlue = 16 * gfnH2D(Mid$(sString, 1, 1)) + gfnH2D(Mid$(sString,
2, 1))
iGreen = 16 * gfnH2D(Mid$(sString, 3, 1)) + gfnH2D(Mid$(sString,
4, 1))
iRed = 16 * gfnH2D(Mid$(sString, 5, 1)) + gfnH2D(Mid$(sString,
6, 1))
gfnLongToRGBString = Str$(iRed) & Str$(iGreen) & Str$(iBlue)
End Function
Použití je pak následující:
Dim
RGBVal as String
RGBVal = gfnLongToRGBString(SYSCol)
kde SYSCol je systémová
barva (Long), například &H0 (černá). RGBVal pak bude obsahovat
hodnotu '000000'.
|