Curl Global Community
カレンダーの色について - Printable Version

+- Curl Global Community (http://communities.curl.com)
+-- Forum: Discussions (http://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (http://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: カレンダーの色について (/showthread.php?tid=267)



カレンダーの色について - umemura - 09-05-2011

CurlのCalenderControl で表示される土日、祝祭日の色を変えるにはどうすればよいでしょうか。

土曜日はボックス(ボタン)の色を青、日曜日と祝祭日の色は赤色で表示したいです。



RE: カレンダーの色について - Yuhki - 09-05-2011

内部でDayFrameというクラスでもってるようなので
素直にはできないようですね。。。
無理やりですが…
Code:
{CalendarControl
    day-proc =
        {proc {cc:CalendarControl, date:DateTime}:(#Graphic, bool)
            let constant info:DateTimeInfo = date.info
            {if info.day-of-week >= 6 then
                def tfb = {TextFlowBox {value info.day}}
                {after 0s do
                    {if-non-null p = tfb.parent then
                        set p.background =
                            {if info.day-of-week == 6 then
                                "lightblue"
                             else
                                "pink"
                            }
                    }
                }
                {return tfb, true}
             else
                {return null, true}
            }
        }
}

これで実装すると他で設定した色(たとえば当日の背景色)とかも上書きされてしまうので
考慮が必要ですね。



RE: カレンダーの色について - umemura - 09-05-2011

ありがとうございます!

当日の背景色は、after 句内の最後に下記のようにして上書きすればなんとかなりそうですね。

Code:
{if date.info.iso-date == {DateTime}.info.iso-date then
    set tfb.parent.background = "royalblue"
}

あちょ。