RhinoCommon API
DialogsShowColorDialog Method (Color) |
Display Rhino's color selection dialog.
Namespace: Rhino.UI
Assembly: RhinoCommon (in RhinoCommon.dll)

public static bool ShowColorDialog( ref Color color )
Public Shared Function ShowColorDialog ( ByRef color As Color ) As Boolean
Parameters
- color
- Type: System.DrawingColor
[in/out] Default color for dialog, and will receive new color if function returns true.
Return Value
Type: Booleantrue if the color changed. false if the color has not changed or the user pressed cancel.

using Rhino; using Rhino.DocObjects; using Rhino.Commands; using Rhino.Input; using Rhino.UI; namespace examples_cs { public class ChangeLightColorCommand : Rhino.Commands.Command { public override string EnglishName { get { return "csLightColor"; } } protected override Result RunCommand(RhinoDoc doc, RunMode mode) { ObjRef obj_ref; var rc = RhinoGet.GetOneObject("Select light to change color", true, ObjectType.Light, out obj_ref); if (rc != Result.Success) return rc; var light = obj_ref.Light(); if (light == null) return Result.Failure; var diffuse_color = light.Diffuse; if (Dialogs.ShowColorDialog(ref diffuse_color)) { light.Diffuse = diffuse_color; } doc.Lights.Modify(obj_ref.ObjectId, light); return Result.Success; } } }
Imports Rhino Imports Rhino.DocObjects Imports Rhino.Commands Imports Rhino.Input Imports Rhino.UI Namespace examples_vb Public Class ChangeLightColorCommand Inherits Rhino.Commands.Command Public Overrides ReadOnly Property EnglishName() As String Get Return "vbLightColor" End Get End Property Protected Overrides Function RunCommand(doc As RhinoDoc, mode As RunMode) As Result Dim obj_ref As ObjRef = Nothing Dim rc = RhinoGet.GetOneObject("Select light to change color", True, ObjectType.Light, obj_ref) If rc <> Result.Success Then Return rc End If Dim light = obj_ref.Light() If light Is Nothing Then Return Result.Failure End If Dim diffuse_color = light.Diffuse If Dialogs.ShowColorDialog(diffuse_color) Then light.Diffuse = diffuse_color End If doc.Lights.Modify(obj_ref.ObjectId, light) Return Result.Success End Function End Class End Namespace
from Rhino import * from Rhino.DocObjects import * from Rhino.Input import * from Rhino.UI import * from scriptcontext import doc def RunCommand(): rc, obj_ref = RhinoGet.GetOneObject( "Select light to change color", True, ObjectType.Light) if rc != Result.Success: return rc light = obj_ref.Light() if light == None: return Result.Failure b, color = Dialogs.ShowColorDialog(light.Diffuse) if b: light.Diffuse = color doc.Lights.Modify(obj_ref.ObjectId, light) return Result.Success if __name__ == "__main__": RunCommand()

Rhino for Mac
Supported in: 5.4Rhino for Windows
Supported in: 6.8