Diese Makro liefert die RGB Werte für die Farbe eines Layer-Objektes
Die Rückgabe des Wertes erfolgt in einem cBrush Objekt.
Von diesem kann die .Frontcolor ausgelesen werden. Diese wird als RGB Wert zurückgegeben.
Diese wird in Dezimalwerte umgerechnet
Public Sub FarbenauslesenMarkierteGebiete()
Dim i As Long, j As Long, cBr As cBrush
Dim r As Integer, b As Integer, G As Integer
Dim Color As Long
' ... Nur wenn einen Karte aktiv
If Not ActiveMap Is Nothing Then
If Not ActiveMap.WorkLayer Is Nothing Then
For i = 0 To ActiveMap.WorkLayer.layer.ObjectCount - 1
If ActiveMap.WorkLayer.layer.IsObjectSelected(i) Then
Set cBr = ActiveMap.WorkLayer.GetObjectBrush(i)
Color = cBr.FrontColor
r = Color Mod 256
Color = cBr.FrontColor \ 256
G = Color Mod 256
Color = Color \ 256
b = Color Mod 256
MsgBox "Rot: " & r & " Grün: " & G & " Blau: " & b
End If
Next i
End If
Else
MsgBox "Keine Karte aktiv!"
End If
End Sub
Falls ihr Anmerkungen oder Verbesserungen oder Fragen habt, einfach raus damit.
