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)))