【ご質問】
Curl標準のカレンダーコントロールにて、スピンコントロールが月→年の順に表示されていますが、
年→月の順とすることは可能でしょうか。
【回答】
CalendarControlに用意されているオプション等を設定するだけで、
スピンコントロールの並びを任意に変えることは出来ません。
しかし、CalendarControlのグラフィック階層をたどる方法で変更することは可能です。
この方法は、CalendarControlのグラフィック階層は固定であるということを前提としています。
バージョンが代わった際にCalendarControlのグラフィック階層が変更されていると、
この方法は使えなくなりますので御注意下さい。
詳細は以下のサンプルをご参照ください。
{curl 7.0,8.0 applet} {curl-file-attributes character-encoding = “shift-jis”}
{value let calendar:CalendarControl = {CalendarControl} let cal-ui:SkinnableCalendarControlUI = calendar.ui-object asa SkinnableCalendarControlUI let internal-frame:Frame = {cal-ui.graphical-children.read-one} asa Frame let internal-grid:Grid = {internal-frame.graphical-children.read-one} asa Grid let calendar-objects:{Array-of Graphic} = {{Array-of Graphic}} {for g:Graphic in internal-grid.graphical-children do {calendar-objects.append g} }
def v-fid = {GridFiducial internal-grid, horizontal? = false} def h-fid = {GridFiducial internal-grid, horizontal? = true}
{internal-grid.add calendar-objects[1], left = {internal-grid.left}, top = {internal-grid.top}, right = v-fid, bottom = h-fid } {internal-grid.add calendar-objects[0], left = v-fid, top = {internal-grid.top}, right = {internal-grid.right}, bottom = h-fid, vorigin = {internal-grid.vorigin-fiducial} } {internal-grid.add calendar-objects[2], left = {internal-grid.left}, top = h-fid, right = {internal-grid.right}, bottom = {internal-grid.bottom} }
{Table columns = 2, {text 通常のCalendar}, {text カスタマイズしたCalendar}, {CalendarControl}, calendar } }
|