Delphi类qq的程序界面实例
Delphi类qq的程序界面实例
实例说明
一般程序都是以菜单栏和工具栏的形式调用其他功能模块的,如果以动态的类qq的程序界面来调用其他模块将会给用户一种新鲜的感觉,使用户对软件更感兴趣。效果如图1.15所示。

技术要点
本实例主要使用TPanel组件来完成布局,使用TListView组件来显示带图标的功能菜单。TListView组件的常用属性及说明如下:
Items: 使用该属性可直接访问表示列表中项目的TListItem对象。
Selected:使用该属性可访问列表中第1个所选项的属性。SelCount属性为0时,该属性为空;大于1时,后来选择的项通过GetNextItem方法查找项目的Selected属性定位。
实现过程
1.新建一个工程,该工程会自动创建一个主窗体,默认命名为Form1.
2.在窗体上添加TPanel、TlistView和TImageList组件。设置TListView组件的ImageList属性为TImageList组件。
3.程序代码如下:
procedure TForm1.Panel2Click(Sender: TObject);
var
newitem:Tlistitem;
begin
panel_click(sender);
newitem:=Tlistitem.Create(nil);
Listview1.Clear;
newitem:= Listview1.Items.Add;
newitem.Caption:=′one′;
newitem.ImageIndex:=2;
newitem:= Listview1.Items.Add;
newitem.Caption:=′two′;
newitem.ImageIndex:=3;
end;
procedure TForm1.panel_click(Sender: TObject);
var
i:integer;
begin
for i:=0 to self.ComponentCount-1 do
begin
if (self.Components[i] is TPanel) then
begin
if (Tpanel(self.Components[i]).Tag>0) and (Tpanel(self.Components[i]).Tag<5) then
begin
if Tpanel(self.Components[i]).Tag=Tpanel(sender).Tag then
Tpanel(self.Components[i]).Align:=alTop
else
Tpanel(self.Components[i]).Align:=alBottom;
end;
end;
end;
end;
procedure TForm1.Panel3Click(Sender: TObject);
var
newitem:Tlistitem;
begin
panel_click(sender);
newitem:=Tlistitem.Create(nil);
Listview1.Clear;
newitem:= Listview1.Items.Add;
newitem.Caption:=′three′;
newitem.ImageIndex:=4;
newitem:= Listview1.Items.Add;
newitem.Caption:=′four′;
newitem.ImageIndex:=5;
newitem:= Listview1.Items.Add;
newitem.Caption:=′AA′;
newitem.ImageIndex:=9;
newitem:= Listview1.Items.Add;
newitem.Caption:=′BB′;
newitem.ImageIndex:=10;
end;
procedure TForm1.Panel4Click(Sender: TObject);
var
newitem:Tlistitem;
begin
panel_click(sender);
newitem:=Tlistitem.Create(nil);
Listview1.Clear;
newitem:= Listview1.Items.Add;
newitem.Caption:=′sever′;
newitem.ImageIndex:=6;
newitem:= Listview1.Items.Add;
newitem.Caption:=′six′;
newitem.ImageIndex:=7;
end;
procedure TForm1.Panel5Click(Sender: TObject);
var
newitem:Tlistitem;
begin
panel_click(sender);
newitem:=Tlistitem.Create(nil);
Listview1.Clear;
newitem:= Listview1.Items.Add;
newitem.Caption:=′eleven′;
newitem.ImageIndex:=8;
newitem:= Listview1.Items.Add;
newitem.Caption:=′twice′;
newitem.ImageIndex:=9;
end;
procedure TForm1.ListView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
point:Tpoint;
begin
if (button=mbRight) and (Listview1.Selected<>nil ) then
begin
GetCursorPos(point);
PopupMenu1.Popup(point.X,point.Y);
end;
end;
end.