GetOLEColorValue

Funktionsname dcl-GetOLEColorValue
Syntax   (dcl-GetOLEColorValue AcadColor [als Color])
Rückgabewert OLEColor

Diese Funktion konvertiert einen AutoCAD-ACI-Farbwert bzw. eine Windows-Systemfarbe in einen OLEColor-Farbwert für Anwendungen mit ActiveX-Eigenschaften und -Methoden.

Bitte beachten Sie, dass der OLEColor-Farbwert entgegen der Beschreibung in der AutoLISP-Hilfe nicht mit der AutoLISP-Funktion (acad_truecolordlg) verwendet werden kann. Autodesk verwendet hier einen anderen Farbwert.

(setq lstRGB (list 123 234 56)) ;; Diese Farbe soll abgebildet werden 
(setq lstRGBForAcad (reverse lstRGB)) ;; Die Liste der RGB-Farbe muss zunächst umgedreht werden
(setq intRGBForAcad (+ (+ (lsh (caddr lstRGBForAcad) 16) (lsh (cadr lstRGBForAcad) 8)) (car lstRGBForAcad))) ;; Daraus lässt sich der Farbwert ableiten
(acad_truecolordlg (cons 420 intRGBForAcad) nil)

Wollen Sie einem Bild-Steuerlemenent eine RGB-Farbe als Hintergrundfarbe zuweisen, verwenden Sie die Liste aus Rot, Grün, Blau direkt:

;; Bei OpenDCL-Steuerelementen kann gleich die Liste zur Anwendung kommen
(setq lstRGBForODCL lstRGB)
(setq intRGBForODCL (+ (+ (lsh (caddr lstRGBForODCL) 16) (lsh (cadr lstRGBForODCL) 8)) (car lstRGBForODCL)))