我想做一个能够隐藏部分界面的窗口`````就象现在的QQ消息框一样```点击右边框架上的箭头就能把QQ秀隐藏了```再点一下又会重新出现`````
   该怎么样实现这个功能````求达人详细指点一下`````

解决方案 »

  1.   

    两个panel,一个 align:=alClient,另一个调整width即可
      

  2.   

    动态控制窗体宽度和高度就行了 Form1.Width := 10; 显示 Form1.Width := 100; height同理
      

  3.   

    这中窗口有什么技术含量吗,值得你这么费心,自己控制panel或其他容器组件都可以
    我看你是想找第三方,不用写一行代码的组件吧
      

  4.   

    .......QQ框那种可以用MXOUTLOOKBAR
      

  5.   

    有些控件设置alClient,有些靠左靠右之类的,中间用个splitter
      

  6.   

    这个当然知道啦```我的意思是想知道怎么修改实现旁边一个panel的隐藏和显示`````
      

  7.   

    一个全局变量
     i:integer;
    三个panel
    panel1.Align:=alClient;
    panel2.Align:=algright;
    panel2.width:=3;
    panel3.Align:=algright;
    从左至右排列panel1、panel2、panel3
    通过点击panel2来实现你要的效果~~unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls;type
      TForm1 = class(TForm)
        Panel1: TPanel;
        Panel2: TPanel;
        Panel3: TPanel;
        procedure FormCreate(Sender: TObject);
        procedure Panel2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      i:integer;
    implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      i:=1;
    end;procedure TForm1.Panel2Click(Sender: TObject);
    begin
      case i of
       1:begin
           panel3.Visible:=false;
           i:=2;
         end;
       2:begin
           panel3.Align:=alright;
           panel2.Align:=alnone;
           panel3.Visible:=true;
           panel2.Align:=alright;
           i:=1;
         end;
       end;
    end;end.
      

  8.   

      panel隐藏是可以实现````panel下面的窗口还在啊``````意思是能够将panel跟panel下面的部分窗口一起隐藏了
       求解````加分```
      

  9.   

    分割用splitte   想求教具体用法
      

  10.   


    什么意思,什么是panel下面的部分窗口?你可以在两个panel间加个splitter,两个Panel的align属性分别设置为alleft,alright,这样子如果alright的visible被置为false则alleft的panel会自动填补上alright的部分窗口,造成隐藏右边窗口的效果但这也不是你要的效果吧
      

  11.   

    你想要那种把alright占用的窗口随着alright的隐藏而相应被切掉的效果,那得重新设定窗口区域再显示啊。获取splitter的left点坐标,设置为新窗口的right坐标,然后再show窗口可以用VC做,很简单,孙鑫的教程里都有。delphi的我没做过这种事
      

  12.   

    额,更正一下,上边说的panel的align属性必须有一个要为alclient才行,这样才会自动占用剩下的区域,不好意思