详细讲解之前还得说明一点:因为Flash用户界面组件的开发是一个推陈出新的过程,后来推出的组件很多是以前开发的组件的升级,所以我不是按顺序一一讲解,而是将它们分成系列之后,详细讲解系列中的一个代表。大家认为是不是这样更好?
一、Calendar(日历)系列组件
这一系列组件包括组件二中的日历组件、组件四中的“Advanced
Calendar”(高级日历)组件和组件五中的“Week View”(周历)组件。后两者只是增加了对外观样式的设置而已,用法与前者相似。此处我仅以日历组件为例进行讲解。
1. 添加组件
将日历组件从组件面板拖到舞台中,一份日历表就创建好了。单击Ctrl+Enter测试,其默认外观结构如下图所示:
很简单吧,默认的日历表是英文的,下面我们通过修改它的属性将其变为中文日历。
2. 配置组件
在舞台中选择Calendar组件。打开属性检查器面板,Calendar组件的属性结构和组件一的组合框相似。
选择类型参数的弹出式菜单有三个选项:“multiple”(多选)、“range”(范围)和“single”(单选)。我们这里选择“range”,表示只能选择某一天。
更改处理函数的意义跟组件一的一样,此处不作变动。
月份列表是从一月到十二月,点击弹出组件参数面板,将英文的月份改成中文的。
星期列表的配置和月份列表的配置类似。
最后一个参数是让你设置星期的第一天为第几天。默认的是“0”,表示星期天。注意不是表示星期一,老外的习惯和我们的有些不同。此处将其改为1,以符合咱们的习惯。最后的配置如下图:
测试一下,你会发现中文日历很丑,没办法Macromedia对我们有“偏见”。也许你说嵌入中文字体不就行了,Flying劝你不要自作聪明,你的“高招”只能让swf文件的大小狂增。
3. 动作脚本 日历组件源于时间对象,因此其动作角本很简单,而且用得不多,以上面设置的中文日历为例,我简单介绍一下它们的用法。
1)setChangeHandler //设置更改处理函数
2)setDayOfWeekNames //设置周名标签 用法:myCalendar.setDayOfWeekNames(arrayofNames)
参数:arrayofNames 周名文本字符串数组
说明:可用getDayOfWeekNames方法取得其返回值
示例:myCalendar.setDayOfWeekNames(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);
3)setDisplayedMonth //设置当前显示的月份 用法:myCalendar.setDisplayedMonth([aDateInMonth])
参数:aDateInMonth 本月的某一天
说明:可用getDisplayedMonth方法取得其返回值,只要设置的日期不为空,将获取当天的时间,否则获取本月的起始时间
示例:下面代码将获取上述两种情况下的时间
myCalendar.setDisplayedMonth(8);
trace(myCalendar.getDisplayedMonth());
myCalendar.setDisplayedMonth();
trace(myCalendar.getDisplayedMonth()); |
4)setDisplayRange //设置能显示的时间范围 用法:myCalendar.setDisplayRange([range])
参数:range 时间范围对象,有begin和end两个属性
说明:可用getDisplayRange方法取得其返回值
示例:下面的代码设置了从11月9号到11月16号的日历
beginDate =
new Date();
endDate = new Date();
beginDate.setDate(9);
endDate.setDate(16);
myCalendar.setDisplayRange({begin:beginDate,
end:endDate});
|
5)setEnabled //启用(禁用)日历
6)setFirstDayOfWeek //设置星期的第一天,参数值默认为0
7)setMonthNames //设置月名标签,用法与setDayOfWeekNames类似
8)setSelectedItem //设置单个选择项的起始时间
9)setSelectedItems //设置多个选择项的起始时
10)setSelectionRequired //设置是否要求选择当天,参数值默认为false
11)setSelectionType //设置选择类型,参数值可以是“multiple”、“range”或者“single”
12)setShowAsDisabled //设置禁用的选择项是否以禁用状态显示,参数值默认为true
13)setSize //设置日历的大小
14)setStyleProperty //设置日历的样式格式
4.
说明
1)如果你细心的话,就会发现一个规律,set方法用来设置属性,get方法则用来读取相应的属性。所以我就偷懒了,只讲set方法,我们后面要讲的组件也有这个规律。关于日历的动作角本的用法,不明白之处请照看源文件
2)缺少实例,大家会觉得枯燥吧?没办法,忍着点吧,曙光就在前面。
|