怎么实现?或有这样的控件吗?

解决方案 »

  1.   

    你可以采用1Class的控件,不过不是很灵活,你也可以自己写,这样最好,
    在我看来就是在一个Panel 容器当中放入Button和一个其他的什么,看你自己的需要了
      

  2.   

    有outlookbar控件,在www.playicp.com上有
      

  3.   

    就使用Delphi中提供的TActionManager和TActionToolBar就可以实现,不知道这种方法别人用过没有,应该很多人知道把,我使用的步骤如下:
    1。在窗体上放一个ActionManager空间
    2。放若干个Panel,然后没个Panel里面在放一个Panel,做标题,类似QQ里面“我的好友”那种标题。然后其属性为ALIGN=ALTOP;
    3。接着,每个PANEL(不做标题的那些PANEL)中放一个ACTIONTOOLBAR,ALIGN=ALCLIENT;
    4。然后在ACTIONMANAGER里面建立几组相应的CATEGORY,最后把CATEGORY拖到对应的PANEL里面----》例如,存在标题“我的好友”,那么就在ACTIONMANAGER里面建立MYPAL这个CATEGORY,里面包含的ACTION有若干个人名(当然这个需要在运行的时候动态的建立,就想QQ那样);
    5。最后将所有ACTIONTOOLBAR控件的容器PANEL的AUTOSIZE置为TRUE;
    6。在FORM的ONCREATE里面写如下代码:(先定义个全局的变量CategoryList:TObjectList,还需要把包含TObjectList这个类申明但单元文件用Uses包含,具体那个俺忘记了,你自己到HELP里面查查把)
    procedure TForm1.OnCreate(Sender:TObject);
    begin
      CategoryList:=TObjectList.Create;
      with CategoryList do 
      begin
        Add(//这里放每个ActionToolBar的容器Panel);  //有几个就写几个Add函数
      end;
      Panel1.OnClick(Panel1);  //这里假设程序中你存放第一个ActionToolBar的容器Pane名
                               //字为Panel1  
    end;
    7。最后将所有ACTIONTOOLBAR容器PANEL中的标题PANEL的ONCLICK事件都指向PANEL1的ONCLICK事件,代码如下:
    procedure TForm.Panel1OnClick(Sender:TObject);
    var
      M,N: Integer;
    begin
      for M:=0 to CategoryList.Count-1 do
      begin
        (CategoryList[M] as TPanel).Align := alNone;
        (CategoryList[M] as TPanel).Height := 20;
        if CategoryList[M] = (Sender as TPanel).Parent then
          N:=M;
      end
      for M:=N-1 downto 0 do
        (CategoryList[M] as TPanel).Align := alTop;
      for M:=CategoryList.Count-1 downto N+1 do
        (CategoryList[M] as TPanel).Align := alBottom;
      (CategoryList[M] as TPanel).Align := alClient;
    end;
    完了!
      

  4.   

    呵呵,DDEVELOPER兄说的好啊,学习
      

  5.   

    DDEVELOPER兄,你好啊。你能不能做好一个发给我啊?
    我的email:[email protected]
    谢谢哦!!
      

  6.   

    DDEVELOPER兄,你好啊。你能不能做好一个发给我啊?
    我的email:[email protected]
    谢谢哦!!
      

  7.   

    不是吧,还要我做,呵呵,哪天有时间做一个你们先帮我看看这个问题http://expert.csdn.net/Expert/topic/1528/1528975.xml?temp=.52763
      

  8.   

    To Joky1981
      可以给出个具体的实现方法吗?
      

  9.   

    谢谢
    我也要一个[email protected]