
Код AS3:
//создаем сетку из ячеек дат
private function buildGrid():void {
_dates = new Array();
var it:Number = 0;
for (var i:Number = 0; i < 6; i++) {
for (var j:Number = 0; j <= 7; j++) {
if (j == 7) {
break;
}
it++;
var dateOfMonth:Number;
dateOfMonth = it;
var dayOfWeek:Number;
dayOfWeek = j + 1;
if (dayOfWeek == 7) {
dayOfWeek = 0;
}
var bgDate:BgDate = new BgDate();
addChild(bgDate);
bgDate.x = j * (bgDate.width + BETWEENCELLS) + XGRID;
bgDate.y = i * (bgDate.height + BETWEENCELLS) + YGRID;
_dates.push([dateOfMonth, dayOfWeek, bgDate]);
}
}
}
//обработчик события MouseEvent.CLICK - здесь меняем месяцы и даты
//и отправляем событие Calendar.CHANGEDATE
private function onClick(e:MouseEvent):void {
if (e.target is NextMonthButton || e.target is PrevMonthButton
||e.target is NextYearButton || e.target is PrevYearButton) {
if (e.target is NextMonthButton) {
_currentMonth++;
if (_currentMonth == 12) {
_currentMonth = 0;
_currentYear++;
_textCurrentYear.text = _currentYear.toString();
}
_textCurrentMonth.text = _months[_currentMonth];
} else if (e.target is PrevMonthButton) {
_currentMonth--;
if (_currentMonth == -1) {
_currentMonth = 11;
_currentYear--;
_textCurrentYear.text = _currentYear.toString();
}
_textCurrentMonth.text = _months[_currentMonth];
}
if (e.target is NextYearButton) {
_currentYear++;
_textCurrentYear.text = _currentYear.toString();
} else if (e.target is PrevYearButton) {
_currentYear--;
_textCurrentYear.text = _currentYear.toString();
}
dispatchEvent(new Event(CHANGEDATE));
}
}
private function onDate (e:MouseEvent):void {
trace ( _currentMonth+1);
trace ( _currentYear);
trace (_months[_currentMonth]);
trace( ); //тут вывести номер дня
}
}
}
в функции onDate надо вывести через trace день на иконку которого нажал.