北屋教程网

专注编程知识分享,从入门到精通的编程学习平台

创建控件数组制作日历_创建控件数组制作日历怎么设置

因处理数据,需要给用户提供日期选择,日历制作方法如下。

一,选择Delphi或其他编程,布置窗体界面如下

31个日期按钮,不需要手工创建,通过代码产生控件数组,生成31个选项按钮。

在窗体show事件里,写代码如下

声明变量

var

sbtns:array[1..31] of TSpeedButton;//用于创建按钮控件数组

n,ncount,x,y,a,b,v,leftv,topv:word;

show事件代码

procedure TForm1.FormShow(Sender: TObject);

begin

ncount:=31;

leftv:=30;

topv:=30;

x:=40;

y:=40;

a:=0;

b:=0;

v:=3;

for n:=1 to ncount do

begin

sbtns[n]:=TSpeedButton.create(self);

sbtns[n].name:='sBtn' + inttostr(n);

sbtns[n].Parent:=self;

sbtns[n].Left:=leftv + a* x;

sbtns[n].top:=topv + b * y;

sbtns[n].Width:=x + v;

sbtns[n].Height:=y + v;

sbtns[n].Caption:=inttostr(n);

sBtns[n].OnClick:=BtnDay_Click;

sBtns[n].Font.Size:=11;

if a<5 then

a:=a+1

else

begin

a:=0;

b:=b+1;

end;

end;

end;

二,设置背景图片

可用shape图形作按钮的背影图片,底色设白色,边框颜色根据喜好设置。

程序运行,创建31个按钮在这个shape图形上,效果如下

三,编写click公共事件。

用户选了哪一天,需要提示结果,所以需要编写事件代码

procedure TForm1.BtnDay_Click(sender:tobject);

var

obj:TSpeedbutton;

begin

obj:=TSpeedbutton(sender);

application.MessageBox(pchar('你点击了' + #13 + obj.Caption + ' 号'),pchar('提示'),MB_OK);

end;

程序运行效果如下


窗口皮肤颜色,可以根据喜好设置,比如下面蓝色


四,程序关键总结

数组按钮代码

类数组:=按钮类.Create(self)

这是产生按钮数组的关键。

然后代码设置他的坐标位置和大小,代码给控件设置日期值(哪一天,几号)。

Delphi语言很优美!

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言