用了几个三方的,都不太理想.
大家能否提供几个小例子或者提供一个三方控件呢?

解决方案 »

  1.   

    tms,dev系列,dxnavbar,效果差不多
      

  2.   

    用button,listview结合就可以,不是很难
      

  3.   

    mxOutlookBar,我看过用的例子。还行。你可以去网上找找试试。
      

  4.   

    我收集的一段书上的代码,,汗,就算看得懂。让我自己写这样的代码也写不出来的,最后我也找了个第三方控件那个maxoutlookpro算了,使用好简单多了。。
    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.