単純な DotNet MonthCalendar の作成と色の変更

以下の例は、MonthCalendar dotNet コントロールを使用して単純なダイアログを作成し、プロパティ、メソッド、およびイベントを出力する mousedown イベント ハンドラを割り当てています。

例:

    rollout test "test" height:200 width:220
    (
    dotNetControl f1 "MonthCalendar" align:#left height:180 width:200
    on f1 mousedown val do
    (
    format "in mousedown handler: arg: %\n" val
    format "showproperties:\n"
    showproperties val
    format "showmethods:\n"
    showmethods val
    format "showevents:\n"
    showevents val
    format "getpropnames : %\n" (getpropnames val)
    format "prop values:\n"
    )
    )
    createdialog test escapeEnable:true

評価を行った後、今月のカレンダーの DotNet コントロールのダイアログ ボックスが既定の設定を使用して表示されます。dotnet.showconstructors() メソッドを使用して、このコントロールのコンストラクタを確認することができます。

例:

    --see the constructor of the control
    dotnet.showConstructors test.f1
    System.Windows.Forms.MonthCalendar()
    true

カラーを変更してカレンダーの外観を変更することもできます。

    --First we list all properties of the control
    --and look to find those controlling some of its colors:
    showproperties test.f1
    .AccessibilityObject : <System.Windows.Forms.AccessibleObject>, read-only
    .AccessibleDefaultActionDescription : <System.String>
    .AccessibleDescription : <System.String>
    .AccessibleName : <System.String>
    .AccessibleRole : <System.Windows.Forms.AccessibleRole>
    .AllowDrop : <System.Boolean>
    .Anchor : <System.Windows.Forms.AnchorStyles>
    .AnnuallyBoldedDates : <System.DateTime[]>
    .AutoScrollOffset : <System.Drawing.Point>
    .AutoSize : <System.Boolean>
     .BackgroundImage : <System.Drawing.Image> .BackgroundImageLayout : <System.Windows.Forms.ImageLayout>
                                  .BindingContext : <System.Windows.Forms.BindingContext> .BoldedDates : <System.DateTime[]>
                                  .Bottom : <System.Int32>, read-only .Bounds : <System.Drawing.Rectangle> .CalendarDimensions
                                  : <System.Drawing.Size> .CanFocus : <System.Boolean>, read-only .CanSelect : <System.Boolean>,
                                  read-only .Capture : <System.Boolean> .CausesValidation : <System.Boolean> .CheckForIllegalCrossThreadCalls
                                  : <System.Boolean>, static .ClientRectangle : <System.Drawing.Rectangle>, read-only
                                  .ClientSize : <System.Drawing.Size> .CompanyName : <System.String>, read-only .Container
                                  : <System.ComponentModel.IContainer>, read-only .ContainsFocus : <System.Boolean>,
                                  read-only .ContextMenu : <System.Windows.Forms.ContextMenu> .ContextMenuStrip : <System.Windows.Forms.ContextMenuStrip>
                                  .Controls : <System.Windows.Forms.Control+ControlCollection>, read-only .Created :
                                  <System.Boolean>, read-only .Cursor : <System.Windows.Forms.Cursor> .DataBindings
                                  : <System.Windows.Forms.ControlBindingsCollection>, read-only .DefaultBackColor :
                                  <System.Drawing.Color>, read-only, static .DefaultFont : <System.Drawing.Font>, read-only,
                                  static .DefaultForeColor : <System.Drawing.Color>, read-only, static .DisplayRectangle
                                  : <System.Drawing.Rectangle>, read-only .Disposing : <System.Boolean>, read-only .Dock
                                  : <System.Windows.Forms.DockStyle> .Enabled : <System.Boolean> .FirstDayOfWeek : <System.Windows.Forms.Day>
                                  .Focused : <System.Boolean>, read-only .Font : <System.Drawing.Font>

                                   .Handle : <System.IntPtr>, read-only .HasChildren : <System.Boolean>, read-only .Height
                                  : <System.Int32> .ImeMode : <System.Windows.Forms.ImeMode> .InvokeRequired : <System.Boolean>,
                                  read-only .IsAccessible : <System.Boolean> .IsDisposed : <System.Boolean>, read-only
                                  .IsHandleCreated : <System.Boolean>, read-only .IsMirrored : <System.Boolean>, read-only
                                  .LayoutEngine : <System.Windows.Forms.Layout.LayoutEngine>, read-only .Left : <System.Int32>
                                  .Location : <System.Drawing.Point> .Margin : <System.Windows.Forms.Padding> .MaxDate
                                  : <System.DateTime> .MaximumSize : <System.Drawing.Size> .MaxSelectionCount : <System.Int32>
                                  .MinDate : <System.DateTime> .MinimumSize : <System.Drawing.Size> .ModifierKeys :
                                  <System.Windows.Forms.Keys>, read-only, static .MonthlyBoldedDates : <System.DateTime[]>
                                  .MouseButtons : <System.Windows.Forms.MouseButtons>, read-only, static .MousePosition
                                  : <System.Drawing.Point>, read-only, static .Name : <System.String> .Padding : <System.Windows.Forms.Padding>
                                  .Parent : <System.Windows.Forms.Control> .PreferredSize : <System.Drawing.Size>, read-only
                                  .ProductName : <System.String>, read-only .ProductVersion : <System.String>, read-only
                                  .RecreatingHandle : <System.Boolean>, read-only .Region : <System.Drawing.Region>
                                  .Right : <System.Int32>, read-only .RightToLeft : <System.Windows.Forms.RightToLeft>
                                  .RightToLeftLayout : <System.Boolean> .ScrollChange : <System.Int32> .SelectionEnd
                                  : <System.DateTime> .SelectionRange : <System.Windows.Forms.SelectionRange> .SelectionStart
                                  : <System.DateTime> .ShowToday : <System.Boolean> .ShowTodayCircle : <System.Boolean>
                                  .ShowWeekNumbers : <System.Boolean> .SingleMonthSize : <System.Drawing.Size>, read-only
                                  .Site : <System.ComponentModel.ISite> .Size : <System.Drawing.Size> .TabIndex : <System.Int32>
                                  .TabStop : <System.Boolean> .Tag : <System.Object> .Text : <System.String>

                                   .TitleForeColor : <System.Drawing.Color> .TodayDate : <System.DateTime> .TodayDateSet
                                  : <System.Boolean>, read-only .Top : <System.Int32> .TopLevelControl : <System.Windows.Forms.Control>,
                                  read-only .TrailingForeColor : <System.Drawing.Color> .UseWaitCursor : <System.Boolean>
                                  .Visible : <System.Boolean> .Width : <System.Int32> .WindowTarget : <System.Windows.Forms.IWindowTarget>
                                  true
                                                     .BackColor : <System.Drawing.Color> .ForeColor : <System.Drawing.Color> .TitleBackColor : <System.Drawing.Color>

DotNet カラー プリセットの使用

コントロールの色のプロパティを変更することができます。まず、色のプロパティを見てみましょう。

    showproperties test.f1.ForeColor --see all properties of the color
    .A : <System.Byte>, read-only
    .AliceBlue : <System.Drawing.Color>, read-only, static
    .AntiqueWhite : <System.Drawing.Color>, read-only, static
    .Aqua : <System.Drawing.Color>, read-only, static
    .Aquamarine : <System.Drawing.Color>, read-only, static
    .Azure : <System.Drawing.Color>, read-only, static
    .B : <System.Byte>, read-only
    .Beige : <System.Drawing.Color>, read-only, static
    .Bisque : <System.Drawing.Color>, read-only, static
    .Black : <System.Drawing.Color>, read-only, static
    .BlanchedAlmond : <System.Drawing.Color>, read-only, static
    .Blue : <System.Drawing.Color>, read-only, static
    .BlueViolet : <System.Drawing.Color>, read-only, static
    .Brown : <System.Drawing.Color>, read-only, static
    .BurlyWood : <System.Drawing.Color>, read-only, static
    .CadetBlue : <System.Drawing.Color>, read-only, static
    .Chartreuse : <System.Drawing.Color>, read-only, static
    .Chocolate : <System.Drawing.Color>, read-only, static
    .Coral : <System.Drawing.Color>, read-only, static
    .CornflowerBlue : <System.Drawing.Color>, read-only, static
    .Cornsilk : <System.Drawing.Color>, read-only, static
    .Crimson : <System.Drawing.Color>, read-only, static
    .Cyan : <System.Drawing.Color>, read-only, static
    .DarkBlue : <System.Drawing.Color>, read-only, static
    .DarkCyan : <System.Drawing.Color>, read-only, static
    .DarkGoldenrod : <System.Drawing.Color>, read-only, static
    .DarkGray : <System.Drawing.Color>, read-only, static
    .DarkGreen : <System.Drawing.Color>, read-only, static
    .DarkKhaki : <System.Drawing.Color>, read-only, static
    .DarkMagenta : <System.Drawing.Color>, read-only, static
    .DarkOliveGreen : <System.Drawing.Color>, read-only, static
    .DarkOrange : <System.Drawing.Color>, read-only, static
    .DarkOrchid : <System.Drawing.Color>, read-only, static
    .DarkRed : <System.Drawing.Color>, read-only, static
    .DarkSalmon : <System.Drawing.Color>, read-only, static
    .DarkSeaGreen : <System.Drawing.Color>, read-only, static
    .DarkSlateBlue : <System.Drawing.Color>, read-only, static
    .DarkSlateGray : <System.Drawing.Color>, read-only, static
    .DarkTurquoise : <System.Drawing.Color>, read-only, static
    .DarkViolet : <System.Drawing.Color>, read-only, static
    .DeepPink : <System.Drawing.Color>, read-only, static
    .DeepSkyBlue : <System.Drawing.Color>, read-only, static
    .DimGray : <System.Drawing.Color>, read-only, static
    .DodgerBlue : <System.Drawing.Color>, read-only, static
    .Firebrick : <System.Drawing.Color>, read-only, static
    .FloralWhite : <System.Drawing.Color>, read-only, static
    .ForestGreen : <System.Drawing.Color>, read-only, static
    .Fuchsia : <System.Drawing.Color>, read-only, static
    .G : <System.Byte>, read-only
    .Gainsboro : <System.Drawing.Color>, read-only, static
    .GhostWhite : <System.Drawing.Color>, read-only, static
    .Gold : <System.Drawing.Color>, read-only, static
    .Goldenrod : <System.Drawing.Color>, read-only, static
    .Gray : <System.Drawing.Color>, read-only, static
    .Green : <System.Drawing.Color>, read-only, static
    .GreenYellow : <System.Drawing.Color>, read-only, static
    .Honeydew : <System.Drawing.Color>, read-only, static
    .HotPink : <System.Drawing.Color>, read-only, static
    .IndianRed : <System.Drawing.Color>, read-only, static
    .Indigo : <System.Drawing.Color>, read-only, static
    .IsEmpty : <System.Boolean>, read-only
    .IsKnownColor : <System.Boolean>, read-only
    .IsNamedColor : <System.Boolean>, read-only
    .IsSystemColor : <System.Boolean>, read-only
    .Ivory : <System.Drawing.Color>, read-only, static
    .Khaki : <System.Drawing.Color>, read-only, static
    .Lavender : <System.Drawing.Color>, read-only, static
    .LavenderBlush : <System.Drawing.Color>, read-only, static
    .LawnGreen : <System.Drawing.Color>, read-only, static
    .LemonChiffon : <System.Drawing.Color>, read-only, static
    .LightBlue : <System.Drawing.Color>, read-only, static
    .LightCoral : <System.Drawing.Color>, read-only, static
    .LightCyan : <System.Drawing.Color>, read-only, static
    .LightGoldenrodYellow : <System.Drawing.Color>, read-only, static
    .LightGray : <System.Drawing.Color>, read-only, static
    .LightGreen : <System.Drawing.Color>, read-only, static
    .LightPink : <System.Drawing.Color>, read-only, static
    .LightSalmon : <System.Drawing.Color>, read-only, static
    .LightSeaGreen : <System.Drawing.Color>, read-only, static
    .LightSkyBlue : <System.Drawing.Color>, read-only, static
    .LightSlateGray : <System.Drawing.Color>, read-only, static
    .LightSteelBlue : <System.Drawing.Color>, read-only, static
    .LightYellow : <System.Drawing.Color>, read-only, static
    .Lime : <System.Drawing.Color>, read-only, static
    .LimeGreen : <System.Drawing.Color>, read-only, static
    .Linen : <System.Drawing.Color>, read-only, static
    .Magenta : <System.Drawing.Color>, read-only, static
    .Maroon : <System.Drawing.Color>, read-only, static
    .MediumAquamarine : <System.Drawing.Color>, read-only, static
    .MediumBlue : <System.Drawing.Color>, read-only, static
    .MediumOrchid : <System.Drawing.Color>, read-only, static
    .MediumPurple : <System.Drawing.Color>, read-only, static
    .MediumSeaGreen : <System.Drawing.Color>, read-only, static
    .MediumSlateBlue : <System.Drawing.Color>, read-only, static
    .MediumSpringGreen : <System.Drawing.Color>, read-only, static
    .MediumTurquoise : <System.Drawing.Color>, read-only, static
    .MediumVioletRed : <System.Drawing.Color>, read-only, static
    .MidnightBlue : <System.Drawing.Color>, read-only, static
    .MintCream : <System.Drawing.Color>, read-only, static
    .MistyRose : <System.Drawing.Color>, read-only, static
    .Moccasin : <System.Drawing.Color>, read-only, static
    .Name : <System.String>, read-only
    .NavajoWhite : <System.Drawing.Color>, read-only, static
    .Navy : <System.Drawing.Color>, read-only, static
    .OldLace : <System.Drawing.Color>, read-only, static
    .Olive : <System.Drawing.Color>, read-only, static
    .OliveDrab : <System.Drawing.Color>, read-only, static
    .Orange : <System.Drawing.Color>, read-only, static
    .OrangeRed : <System.Drawing.Color>, read-only, static
    .Orchid : <System.Drawing.Color>, read-only, static
    .PaleGoldenrod : <System.Drawing.Color>, read-only, static
    .PaleGreen : <System.Drawing.Color>, read-only, static
    .PaleTurquoise : <System.Drawing.Color>, read-only, static
    .PaleVioletRed : <System.Drawing.Color>, read-only, static
    .PapayaWhip : <System.Drawing.Color>, read-only, static
    .PeachPuff : <System.Drawing.Color>, read-only, static
    .Peru : <System.Drawing.Color>, read-only, static
    .Pink : <System.Drawing.Color>, read-only, static
    .Plum : <System.Drawing.Color>, read-only, static
    .PowderBlue : <System.Drawing.Color>, read-only, static
    .Purple : <System.Drawing.Color>, read-only, static
    .R : <System.Byte>, read-only
    .Red : <System.Drawing.Color>, read-only, static
    .RosyBrown : <System.Drawing.Color>, read-only, static
    .RoyalBlue : <System.Drawing.Color>, read-only, static
    .SaddleBrown : <System.Drawing.Color>, read-only, static
    .Salmon : <System.Drawing.Color>, read-only, static
    .SandyBrown : <System.Drawing.Color>, read-only, static
    .SeaGreen : <System.Drawing.Color>, read-only, static
    .SeaShell : <System.Drawing.Color>, read-only, static
    .Sienna : <System.Drawing.Color>, read-only, static
    .Silver : <System.Drawing.Color>, read-only, static
    .SkyBlue : <System.Drawing.Color>, read-only, static
    .SlateBlue : <System.Drawing.Color>, read-only, static
    .SlateGray : <System.Drawing.Color>, read-only, static
    .Snow : <System.Drawing.Color>, read-only, static
    .SpringGreen : <System.Drawing.Color>, read-only, static
    .SteelBlue : <System.Drawing.Color>, read-only, static
    .Tan : <System.Drawing.Color>, read-only, static
    .Teal : <System.Drawing.Color>, read-only, static
    .Thistle : <System.Drawing.Color>, read-only, static
    .Tomato : <System.Drawing.Color>, read-only, static
    .Transparent : <System.Drawing.Color>, read-only, static
    .Turquoise : <System.Drawing.Color>, read-only, static
    .Violet : <System.Drawing.Color>, read-only, static
    .Wheat : <System.Drawing.Color>, read-only, static
    .White : <System.Drawing.Color>, read-only, static
    .WhiteSmoke : <System.Drawing.Color>, read-only, static
    .Yellow : <System.Drawing.Color>, read-only, static
    .YellowGreen : <System.Drawing.Color>, read-only, static
    .Empty : <System.Drawing.Color>, read-only, static
    true

色のプロパティ自体にもプロパティがあり、そのうちのいくつか代表的な色が読み込み専用で定義されています。つまり、.ForeColor プロパティおよび .BackColor プロパティを、既に定義されている静的な読み込み専用の値に設定すればよいのです。

    test.f1.ForeColor = test.f1.ForeColor.Blue
    --> dotNetObject:System.Drawing.Color
    test.f1.BackColor = test.f1.BackColor.Yellow
    --> dotNetObject:System.Drawing.Color
    test.f1.TitleBackColor = test.f1.TitleBackColor.Tomato
    --> dotNetObject:System.Drawing.Color

ユーザ定義のカラーの使用

プリセットを使用する代わりに、独自の DotNet カラーを作成することができます。

System.Drawing.Color オブジェクトが公開するメソッドを以下に示します。

    showMethods test.f1.backcolor
    .<System.Boolean>Equals <System.Object>obj
    .[static]<System.Boolean>Equals <System.Object>objA <System.Object>objB
    .[static]<System.Drawing.Color>FromArgb <System.Int32>argb
    .[static]<System.Drawing.Color>FromArgb <System.Int32>alpha <System.Drawing.Color>baseColor
     .[static]<System.Drawing.Color>FromArgb <System.Int32>alpha <System.Int32>red <System.Int32>green
                                     <System.Int32>blue .[static]<System.Drawing.Color>FromKnownColor <System.Drawing.KnownColor>color
                                     .[static]<System.Drawing.Color>FromName <System.String>name .<System.Single>GetBrightness()
                                     .<System.Int32>GetHashCode() .<System.Single>GetHue() .<System.Single>GetSaturation()
                                     .<System.Type>GetType() .[static]<System.Boolean>ReferenceEquals <System.Object>objA
                                     <System.Object>objB .<System.Int32>ToArgb() .<System.Drawing.KnownColor>ToKnownColor()
                                     .<System.String>ToString() true
                                                        .[static]<System.Drawing.Color>FromArgb <System.Int32>red <System.Int32>green <System.Int32>blue

上記から分かるとおり、.FromARGB() メソッドでは、Red、Green、および Blue の値を指定できます。 また、このメソッドにより、次のように DotNet カラー値を構築できます。

    test.f1.forecolor = test.f1.backcolor.FromArgb 255 255 100
    test.f1.backcolor = test.f1.backcolor.FromArgb 100 200 234
    dotNetObject:System.Drawing.Color