Delphi 2006高级控件应用
(Vber)
Borland Developer Studio 2006已于2005年12月5日正式发布了。Delphi 2006是Borland Developer Studio 2006产品中的一部分,我们不仅能继续开发基于Win32平台的应用程序,还可以使用Delphi语言编写平台的应用程序,使得Delphi程序员可以轻松的将Win32平台的应用程序移植到平台中。
spider
本文将带领读者去体验一下Delphi 2006中高级控件的应用。看完本文后,你会发现,使用Delphi 2006将会使你更加高效、快速地开发应用程序。
一、Delphi 2006中控件的安装
以前的大多数第三方控件仍然可以在Delphi 2006中使用。只是在安装方式上有一些差别。
1.DPK控件包的安装方法:
有一些第三方控件提供给我们的是DPK文件,在Delphi7中,我们直接双击就可以进行安装。但是在Delphi 2006中,步骤有一点不同。我们以FlatStyle控件的安装为例,讲解一下DPK控件包的方法:
第一步:启动Delphi for Microsoft Win32,点击“File”菜单下的“Open Project”,选择要安装的DPK文件FlatStyle_D7.dpk,点击“打开”按钮。
选择要安装的控件
第二步:在右边的“Project Manager”中,鼠标右击控件名称FlatStyle_D7.bpl,在弹出的菜单中点击“Install”。Delphi 2006将对控件进行编译并安装。
安装控件
2.单个PAS文件的安装:
有一些第三方控件只有一个PAS文件,没有提供安装包,在Delphi 7中,可以单独对PAS文件进行安装,但是在Delphi 2006里,已经取消了这个功能。那么在Delphi 2006中如何安装单个的PAS文件呢?方法如下:
第一步:点击“File”-“New”菜单中的“Package – Delphi for Win32”,新建一个控件包。
新建控件包
第二步:选中右边“Project Manager”中“Contains”文件夹,点击鼠标右键,在弹出的菜单中选择“Add”。
添加
第三步:在Add对话框中,点击“Brow”按钮,选择要安装的PAS文件,然后点击“OK”按钮。
选择PAS文件
第四步:鼠标右击“Project Manager”中的“Package1.bpl”,在弹出的菜单中选择“Install”,这时就完在了控件的安装。
第五步:保存bpl文件。
二、属性编辑器控件
1.TValueListEditor
Delphi 2006提供的TValueListEditor控件可以编写一个类似于Delphi7的Object Inspector。下面我们就来编写一个简单的属性编辑器,如下图所示:
小托福官网属性编辑器
第一步:在窗体上放置一个ValueListEditor控件(在Additional面板中可能找到该控件)。
第二步:添加属性名称及属性值。本例中,我们一共有3个属性,分别是“Name”、“Color”和“Size”。ValueListEditor为我们提供了InrtRow方法,使用该方法可以添加属性名称及属性值。代码如下:
ValueListEditor1.InrtRow('Name', '', True);
ValueListEditor1.InrtRow('Color', 'clRed', True);
ValueListEditor1.InrtRow('Size', '9', True);
是不是非常简单?运行程序,用鼠标点击Size中的9,效果是否不同呢?编辑器中有一个下拉列表,那么如何实现呢?我们将第三句代码作如下修改:
Index := ValueListEditor1.InrtRow('Size', '9', True);
首先获取要修改的行号,InrRow在插入一行后,会返回当前行的行号。下面再使用ItemProps属性修改“行”的属性:
with ValueListEditor1.ItemProps[Index - 1].PickList do begin
Add('9');
Add('11');
Add('13');
Add('20');
end;
PickList中就是保存的下接列表中的数据。
现在再运行程序看看效果,是否一样了呢?
下面我们再看一个效果:
带“弹出”效果的编辑器
图中的clRed后有一个“…”按钮,在Delphi 7中,当这个按钮出现时,我们可以通过点击这个按钮弹出
一个窗体,进行相应的属性设置。那么,我们要实现这样的效果也是非常简单的,将“ValueListEditor1.InrtRow('Color', 'clRed', True);”这句代码作如下修改:美女上错身第二季
英汉字典
Index := ValueListEditor1.InrtRow('Color', 'clRed', True);
ValueListEditor1.ItemProps[Index - 1].EditStyle := esEllipsis;
修改ItemProps中的EditStyle属性为“esEllipsis”即可实现这样的效果。但是,现在这个按钮什么都不能干,需要我们加入执行代码才会发挥其作用。在这个例子中,我们要求点击“…”按钮后,弹出颜色对话框,然后将用户选择的颜色值显示在Color右边的文本框中。我们可以在OnEditButtonClick事件中写入实现代码:
procedure TForm1.ValueListEditor1EditButtonClick(Sender: TObject);
var
nRow: Integer;
begin
nRow := ValueListEditor1.Row;
ca nRow of
ohm2:
with TColorDialog.Create(nil) do begin
if Execute then
yahValueListEditor1.Cells[2, nRow] := ColorToString(Color);
end;
end;
end;
当点击“…”按钮时,会触发OnEditButtonClick事件。在OnEditButtonClick事件中,我们首先使用ValueListEditor1.Row获取当前“行”的行号,也就是鼠标点击的是哪一行的按钮。知道了行号,我们就可以根据行号来加入相应的代码。在本例中,只有第二行有“…”按钮,因此,当Row等于2时,我们就显示颜色对话框。“ValueListEditor1.Cells[2, nRow] := ColorToString(Color);”这一句代码是将用户选择的颜色值显示到文本框中。
通过上面的讲解,我们知道了属性记录的添加及设置。那么如何获取某个属性的属性值呢?请看下面:
假如我们要获取Name的属性值,我们使用下面的代码即可获得:
ShowMessage(ValueListEditor1.Cells[2, 1]);
前面我们通过Cells属性设置了文本框中的内容,在这里,我们可以使用Cells属性获取指定文本框的内容。Cells有2个参数,第一个是列,第二个是行。Name的属性值是在第2列、第一行中的,因为指定Cells[2,1],如果要获取Size的属性值,那么就应该是Cells [2,3]。
属性/方法 说明
DeleteRow 删除指定行。
FindRow 查找行。
ColCount 获取列的个数。osaki
ItemProps.HasPickList 是否捅有下拉列表。
Values 根据Key获取Key所对应的值。
Keys 获取Key的值
RowCount 获取行的个数。
三、系统控件
1.TTrayIcon外语教学与研究出版社
在Delphi 2006中,新增了一个TTrayIcon的控件。该控件是用于在托盘中显示自己软件的图标。使用TTrayIcon控件可以很容易的实现“动态图标”及“气泡提示”功能。如下图所示:
托盘显示
(1)“气泡提示”的制作
第一步:在窗体中放置TrayIcon控件(Additional面板中可以找到)。
第二步:设置TrayIcon的Icon图标,载入一个ICO文件。
第三步:设置TrayIcon的BalloonHint为“Delphi 2006高级控件应用”,设置BalloonTitle为“电脑报2005年合订本”。设置Visible为True。
第四步:双击窗体,在OnCreate事件中写入下面代码:
TrayIcon1.ShowBalloonHint;
好了,F9运行程序,一个“气泡提示”就会出现在图标上。属性中的BalloonTimeout是设置“气泡提示”多少秒后消失,默认是3秒。
(2)动态图标
我们大家都知道,当有QQ消息时,托盘中会有一个闪烁图标,使用TrayIcon控件可以非常容易地实现这个功能。
使图标动起来,其实就是使用多个图标进行切换。QQ的闪烁图标,其实就是使用的两个图标来进行切换的,一个是头像图标,一个是空的图标。公务员考试培训班
下面我们就来模拟QQ头像闪烁功能:
第一步:在窗体上放置ImageList控件(在Win32面板中可以找到)。
第二步:设置ImageList控件的Width和Height属性为32,然后双击ImageList,点击“Add”按钮添加图标文件。第一个添加的是要显示的图标,第二个添加一个空的图标(可以使用Image Editor新建一个ICO文件,然后直接保存即可得到一个空的图标。)。
第三步:设置TrayIcon的Icons属性为ImageList1(可以直接在列表中选择)。
第四步:在Form1的OnFormShow事件中加入下面的代码:
TrayIcon1.Animate := True;
TrayIcon1.AnimateInterval := 450;
当Animate为True时,将自动按ImageList控件中图标的顺序进行依次显示,形成动态效果。AnimateInterval为每隔多少时间显示下一个图标。如果要停止闪烁,将Animate设置为Fal即可。
怎么样,Delphi2006提供的TTrayIcon控件是不是很酷。
属性/方法 说明
Animate 设置是否使用动态图标。
AnimateInterval 图标变化的时间。
BalloonFlags 气泡提示中的图标。bfError为错误图标 bfInfo为信息图标 bfWarning为警示图标。
BalloonTimeout 气泡提示消失时间。
BalloonTitle 气泡提示标题。
Hint 托盘图标提示。当鼠标移动到托盘中的图标时显示。
Icon 设置托盘图标。
IconIndex 图标索引。
Icons 图标集合。一般使用ImageList控件包含图标集合。
Visible 是否在托盘中显示。
四、界面控件
1.XPMenu
minute怎么读XPMenu控件可以帮助我们轻松制作XP样式的菜单。这是一个第三方控件,其讲解“单个PAS文件的安装”中,就是以XPMenu为例讲解的。
首先我们先使用TMainMenu或者TPopupMenu制作好菜单,然后在XP面板中将TXPMenu控件拖动到窗体中,将XPMenu的Active和AutoDetect属性设置为True就可以了。
如果我们想自己定义菜单的背景色、边框颜色,甚至是字体的大小及颜色,也是很容易的。下表是修改菜单、字体颜色的属性: 属性 说明
SelectBorderColor 选中菜单时边框颜色
SelectColor 选中菜单时的背景颜色
分享我的文档在/luzhou888
SelectFontColor 选中菜单时文字的颜色
Separator Color 分隔线的颜色
Font 设置字体、大小、颜色
2.FlatStyle
FlatStyle是一套平面控件。如果想你的界面与众不同,那么使用FlatStyle是最佳选择。
TFlatTitleBar
TFlatTitleBar模拟标题栏控件。效果如下图所示:
模拟标题栏控件
将FlatTitlebar放置到窗体上,然后将Align属性设置为alTop,由于窗体中有默认的标题栏,因此我们需要将窗体的BorderStyle设置为None去掉标题栏。
TFlatHint
FlatHint改变了Windows的标准提示信息框样式。其效果如下:
改变效果
只要我们为控件设置好了Hint属性,并将ShowHint设置成True,那么将TFlatHint控件拖动到窗体上就可以了。由于TFlatHint默认使用的字体是英文,显示出来的汉字比较小,只需将FlatHint的Font属性设
置为中文字体即可。
五、多媒体控件
1.TWinAmpComponent
该控件可以帮助我们操控Winamp。
操控Winamp
一些常用的Winamp方法:
WinAmpControl1.Play; 播放音乐
WinAmpControl1.PrevTrack; 前一首音乐
WinAmpControl1.Pau; 暂停播放
WinAmpControl1.Stop; 停止播放
WinAmpControl1.NextTack; 下一首音乐
WinAmpControl1.SetVolume 设置音量
WinAmpControl1.GetSongLength 获取音乐长度
WinAmpControl1.SetRepeat; 设置重复播放
WinAmpControl1.ClearRepeat; 清除重复播放