《Cbuilder制作的日历.docx》由会员分享,可在线阅读,更多相关《Cbuilder制作的日历.docx(5页珍藏版)》请在三一文库上搜索。
1、添加组件有: 1 个 CCalender、3 个 CSpinButton、 1 个 Timer 、 2 个 Label、 3 个 Edit、 2 个 Button 、注意:必须在 3 个 Edit 中分别输入,“请输入年份”“请输入月份”“请输入日期”(要和代码中的完全一致,否则出错。当然也可以把相应的代码注释掉不使用。)另外,为了避免在 Edit 组件中输入错误的字符,可以在代码中把 Edit 的 Enabled 属性一直设为 false。(不在代码中写出来,直接在属性栏设置也可以。)Form1->Edit1->Enabled=false 。Form1->Edit2->
2、;Enabled=false。Form1->Edit3->Enabled=false。代码为:#include <vcl.h>#pragma hdrstop#include "Unit1.h"/-#pragma package(smart_init)#pragma link "CCALENDR"#pragma link "CSPIN"#pragma resource "*.dfm"TForm1 *Form1 。/-_fastcall TForm1:TForm1(TComponent* Own
3、er): TForm(Owner)/-1 / 5void _fastcall TForm1:FormCreate(TObject *Sender)/ 文本组件初始化Form1->Edit1->Text="请输入年份 "。Form1->Edit2->Text="请输入月份 "。Form1->Edit3->Text="请输入日期 "。/CCalendar 组件初始化Form1->CCalendar1->Year =2013。Form1->CCalendar1->Month=7 。
4、Form1->CCalendar1->Day=1。/ 各个组件的状态Form1->CCalendar1->Enabled=false。Form1->Edit1->Enabled=false。Form1->Edit2->Enabled=false。Form1->Edit3->Enabled=false。Form1->CSpinButton1->Enabled=false。Form1->CSpinButton2->Enabled=false。Form1->CSpinButton3->Enabled=fa
5、lse。Form1->Timer1->Enabled=false 。/-void _fastcall TForm1:CCalendar1Change(TObject *Sender)/ 将组件 CCalendar 中的时间显示在文本框中。Form1->Edit1->Text=IntToStr(Form1->CCalendar1->Year)。Form1->Edit2->Text=IntToStr(Form1->CCalendar1->Month) 。Form1->Edit3->Text=IntToStr(Form1->
6、;CCalendar1->Day)。/-void _fastcall TForm1:Edit1Change(TObject *Sender)/ 当文本框中的数据改变时, CCalendar 中相应的改变Form1->CCalendar1->Year=StrToInt(Form1->Edit1->Text)。/-void _fastcall TForm1:Edit2Change(TObject *Sender)Form1->CCalendar1->Month=StrToInt(Form1->Edit2->Text) 。/-void _fast
7、call TForm1:Edit3Change(TObject *Sender)Form1->CCalendar1->Day=StrToInt(Form1->Edit3->Text)。2 / 5/-void _fastcall TForm1:CSpinButton1DownClick(TObject *Sender)/ 年数减一if(StrToInt(Form1->Edit1->Text)>1) Form1->Edit1->Text=IntToStr(StrToInt(Form1->Edit1->Text)-1)。/ Form1
8、->CCalendar1->PrevYear。/-void _fastcall TForm1:CSpinButton1UpClick(TObject *Sender)/ 年数加一if(StrToInt(Form1->Edit1->Text)<9999) Form1->Edit1->Text=IntToStr(StrToInt(Form1->Edit1->Text)+1)。/-void _fastcall TForm1:CSpinButton2DownClick(TObject *Sender)if(StrToInt(Form1->Ed
9、it2->Text)>1) Form1->Edit2->Text=IntToStr(StrToInt(Form1->Edit2->Text)-1)。/-void _fastcall TForm1:CSpinButton2UpClick(TObject *Sender)if(StrToInt(Form1->Edit2->Text)<12) Form1->Edit2->Text=IntToStr(StrToInt(Form1->Edit2->Text)+1)。/-void _fastcall TForm1:CSpinBu
10、tton3DownClick(TObject *Sender)if(StrToInt(Form1->Edit3->Text)>1) Form1->Edit3->Text=IntToStr(StrToInt(Form1->Edit3->Text)-1)。/-void _fastcall TForm1:CSpinButton3UpClick(TObject *Sender)if(StrToInt(Form1->Edit3->Text)<31) Form1->Edit3->Text=IntToStr(StrToInt(Form1
11、->Edit3->Text)+1)。/-void _fastcall TForm1:Timer1Timer(TObject *Sender)Form1->Label1->Caption=TimeToStr(Time() 。3 / 5/ 动态显示系统时间/-void _fastcall TForm1:Button1Click(TObject *Sender)/ 各个组件的状态Form1->CCalendar1->Enabled=true。Form1->Edit1->Enabled =true 。 / 注意Form1->Edit2->En
12、abled=true 。Form1->Edit3->Enabled=true 。Form1->CSpinButton1->Enabled=true 。Form1->CSpinButton2->Enabled=true 。Form1->CSpinButton3->Enabled=true 。Form1->Timer1->Enabled=true 。/ 将文本框中的时间显示在 CCalendar 组件中。Form1->CCalendar1->Year=StrToInt(Form1->Edit1->Text)。For
13、m1->CCalendar1->Month=StrToInt(Form1->Edit2->Text) 。Form1->CCalendar1->Day=StrToInt(Form1->Edit3->Text)。/-void _fastcall TForm1:Button2Click(TObject *Sender)CCalendar1->UseCurrentDate =true 。 /CCalendar 组件显示出今天的日期。AnsiString s="今天日期 :" 。s+=CCalendar1->Year。s+=
14、"年 " 。s+=CCalendar1->Month 。s+="月 " 。s+=CCalendar1->Day。s+="日 " 。Form1->Edit1->Text=IntToStr(Form1->CCalendar1->Year)。Form1->Edit2->Text=IntToStr(Form1->CCalendar1->Month) 。Form1->Edit3->Text=IntToStr(Form1->CCalendar1->Day)。ShowMessage(s)。/-运行结果为:(运行后,我点击了今天按钮)4 / 5再点击执行查询:5 / 5