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

图1.15Delphi类qq的程序界面实例
技术要点
    本实例主要使用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);