您好,欢迎来到站长目录(28sn.com)!


使用 IntraWeb (22) - 基本控件之 TIWCalendar

来源:网络整理 浏览:315次 时间:2021-09-15
使用 IntraWeb (22) - 基本控件之 TIWCalendar    


TIWCalendar: 日历控件, 继承于 TIWCustomGrid, 所以它和 TIWGrid 共同属性特多.

它的 Cell 是 TIWCalendarCell 对象, 直接从 TIWGridCell 继承.



TIWCalendar 所在单元及继承链:
IWCompCalendar.TIWCalendar < TIWCustomGrid < TIWCustomControl < TIWBaseHTMLControl < TIWBaseControl < TIWVCLBaseControl < TControl < TComponent < TPersistent < TObject

主要成员:


property Cell[const ARow: Integer, const AColumn: Integer]: TIWCalendarCell //property CurrentDayImage: TIWFileReference    //显示在当前日期的图片property CaptionToday: string                 //当前日期的附加标题property PreviousMonthImage: TIWFileReference //"后退"图片property NextMonthImage: TIWFileReference     //"前进"图片property CaptionPrevious: string          //"后退"标题property CaptionNext: string              //"前进"标题property CalendarHeaderColor: TIWColor    //标题背景色property CalendarColor: TIWColor          //背景色property AlternateCalendarColor: TIWColor //用于交替的背景色property CheckerBoard: Boolean            //是否使用交替背景property CalendarHeaderFont: TIWFont  //标题字体property CalendarFont: TIWFont        //字体property StartDate: TDateTime         //默认当前日期property SelectedDate: TDateTime      //就是刚刚点过的日期property DisplayYear: Boolean         //是否显示"年"property LocaleID: Integer                 //本地语言 IDproperty CellRenderOptions: TIWCellRenderOptions //property BorderColors: TIWGridBorderColors //property BGColor: TIWColor                 //property BorderSize: Integer               //property BorderStyle: TIWGridBorderStyle   //property Caption: TCaption     //property CellPadding: Integer  //          property CellSpacing: Integer  //property Font: TIWFont         //property Lines: TIWGridLines   //property Summary: string       //property UseFrame: Boolean     //property UseSize: Boolean      //property HiddenColumns: TStringList //property OnDateChange: TIWCalendarDateChange     //property OnGetDateInformation: TIWCalendarGetDateInformation  //property OnGetDayNames: TIWCalendarGetDayNames   //property OnGetMonthName: TIWCalendarGetMonthName //property OnRenderCell: TIWOnRenderCell           //property OnRender: TNotifyEvent                  //property OnGetCellRenderOptions: TIWGetCellRenderOptionsEvent //procedure SetHeaderCells;                                          //function IsRowVisible(ARow: Integer): Boolean                      //procedure SetColumnVisibility(AColumn: Integer; AVisible: Boolean) //


TIWCalendarCell:



{IWCompCalendar.TIWCalendarCell < TIWGridCell < TCollectionItem < TPersistent < TObject}property CellDate: TDateTime          //property DateInformation: TStringList //与日期关联的备注信息property ImageFile: TIWImageFile      //看来每个 Cell 都可以使用图像; 这应该是为当前日期准备的{还包括和 TIWGridCell 相同的一些}


改控件拖到窗体上就能用, 如果要写一行代码的话应该是: IWCalendar1.StartDate := Date;

下面是个比较全面的测试:


var  gInfoList: TStrings; //用于记录自定义的备忘信息procedure TIWForm1.IWAppFormCreate(Sender: TObject);begin  gInfoList := TStringList.Create; //如果是长期保存, 它应该是从服务器上读取某个文件  IWCalendar1.Caption := '';           //标题无用  IWCalendar1.CaptionPrevious := '<<'; //其实给它图像(PreviousMonthImage)更好看  IWCalendar1.CaptionNext := '>>';  IWCalendar1.CalendarHeaderColor := $88aaaa;  IWCalendar1.CalendarColor := $eeffff;  IWCalendar1.AlternateCalendarColor := $ccdddd; //交替颜色  IWCalendar1.CheckerBoard := True;              //确认使用指定的 "交替颜色" 与背景色交替使用  IWCalendar1.CalendarFont.Size := 12;  LinkColor := $0033dd; //Cell 中的文本其实成了链接了, 如果要改变 Cell 中文本的显示, 最好使用 Css  IWCalendar1.CaptionToday := '★'; //突出标示当前日期, 或使用图像(CurrentDayImage)  IWCalendar1.StartDate := Date; //显然使用 Date 比 Now 更合理; 这句还能起到刷新的作用end;{通过 OnGetDayNames 事件调整周标题显示}procedure TIWForm1.IWCalendar1GetDayNames(var Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday: string);begin  Sunday := '周末';end;{通过 OnGetMonthName 事件调整月份显示}procedure TIWForm1.IWCalendar1GetMonthName(MonthNumber: Integer; var MonthName: string);begin  MonthName := MonthNumber.ToString + '月';end;{通过 OnRenderCell 事件调整更多显示细节}procedure TIWForm1.IWCalendar1RenderCell(ACell: TIWGridCell; const ARow, AColumn: Integer);begin  {让当前选定的日期在字号上有所区别}  if TIWCalendarCell(ACell).CellDate = TIWCalendar(ACell.Grid).SelectedDate then    ACell.Font.Size := 14  else    ACell.Font.Size := ACell.Grid.Font.Size;  {ARow = 0 是最上面一行, 也就是带月导航的那行}  if ARow = 0 then ACell.Font.Size := 13;  {Arow = 1 是周标题}  if ARow = 1 then ACell.Height := '20'; //Height 是 字符串在 Html 中不难理解end;{添加和日期关联的备注信息}procedure TIWForm1.IWButton1AsyncClick(Sender: TObject; EventParams: TStringList);begin  gInfoList.Values[FormatDateTime('ddmmyyyy', IWCalendar1.SelectedDate)] := IWMemo1.Text;end;{选择不同日期时再取回备注信息}procedure TIWForm1.IWCalendar1DateChange(ADate: TDateTime);begin  IWMemo1.Text := gInfoList.Values[FormatDateTime('ddmmyyyy', ADate)];end;{通过切换月份, 可以看到刚添加的与日期关联的备注信息}procedure TIWForm1.IWCalendar1GetDateInformation(ADate: TDateTime; VInformation: TStrings);begin  VInformation.Text := gInfoList.Values[FormatDateTime('ddmmyyyy', ADate)];end;procedure TIWForm1.IWAppFormDestroy(Sender: TObject);begin  gInfoList.Free;end;


效果图:



推荐站点

  • 我爱发烧音乐我爱发烧音乐

    我爱发烧音乐囊括了从流行音乐到古典音乐多个类型的音乐作品,专栏推荐最新的音乐,提供音乐排名榜单!可供免费线上收听音乐,歌曲流畅,音效极佳! 网站提供的钢琴以及二胡专栏,可供收听者,陶冶情操,改善心情,是难得的轻音乐典藏!

    www.520fs.com
  • 世纪音乐网世纪音乐网

    世纪音乐网是专业的在线音乐试听MP3下载网站。歌曲总计30余万首,收录了网上最新歌曲和流行音乐,DJ舞曲,非主流音乐,经典老歌,劲舞团歌曲,搞笑歌曲,儿童歌曲,英文歌曲等。是您上网听歌的最佳网站。

    www.ssjj.com
  • 杭州网杭州网

      杭州网是杭州地区唯一的新闻门户网站,由中共杭州市委宣传部、杭州日报报业集团和杭州广播电视集团共同组建的杭州网络传媒有限公司运营。

    www.hangzhou.com.cn
  • 深圳在线深圳在线

      深圳在线 www.szol.net是深圳本地最大、最早的地方生活资讯网站之一,网站名“深圳在线www.szol.net”由南方报业传媒集团编辑委员会总编辑、南方日报社总编辑、南方都市报总编辑、南方书画院名誉院长王春芙亲笔题名,深圳在线www.szol.net团队与深圳热线www.szonline.net、奥一网www.oeeee.com都源于全国最早成立于1996年的知名网络公司——深圳万用网。

    www.szol.net
  • 今题网今题网

     今题网- 中国领先的社区服务网,提供社区服务, 在线交友和商家推广服务,于2004年创建上线,公司现有员工超过百名。今题网自成立以来,凭借其独特的定位和丰富的社区交友功能, 凭借其团队超强的搜索引擎优化技术吸引超过千万的用户成为今题网的注册会员。

    www.jinti.com

鄂公网安备 42062502000001号