Flexの日付コンポーネントは今日へ移動する機能がない
結局DateChooser自体にリンクをつけたりするのは難しいみたいだな。
右クリックでよいのであればうまくいった。
DateField版
<?xml version="1.0" encoding="utf-8"?> <mx:DateField xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="creationComplete()"> <mx:Script> <![CDATA[ import mx.controls.*; public var todaySupport:Boolean = true; protected var _rmenu:ContextMenu; protected var _rmenuitem:ContextMenuItem; protected function creationComplete():void { if (!todaySupport) { return; } _rmenu = new ContextMenu(); _rmenu.hideBuiltInItems(); _rmenuitem = new ContextMenuItem("今日へ移動"); _rmenuitem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, itemHandler); _rmenu.customItems.push(_rmenuitem); dropdown.contextMenu = _rmenu; } protected function itemHandler(item:ContextMenuEvent):void { dropdown.selectedDate = new Date(); } ]]> </mx:Script> </mx:DateField>
DateChooser版
<?xml version="1.0" encoding="utf-8"?> <mx:DateChooser xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="creationComplete()"> <mx:Script> <![CDATA[ import mx.controls.*; public var todaySupport:Boolean = true; protected var _rmenu:ContextMenu; protected var _rmenuitem:ContextMenuItem; protected function creationComplete():void { if (!todaySupport) { return; } _rmenu = new ContextMenu(); _rmenu.hideBuiltInItems(); _rmenuitem = new ContextMenuItem("今日へ移動"); _rmenuitem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, itemHandler); _rmenu.customItems.push(_rmenuitem); contextMenu = _rmenu; } protected function itemHandler(item:ContextMenuEvent):void { selectedDate = new Date(); } ]]> </mx:Script> </mx:DateChooser>