一个窗口问题```求达人指点```` 我想做一个能够隐藏部分界面的窗口`````就象现在的QQ消息框一样```点击右边框架上的箭头就能把QQ秀隐藏了```再点一下又会重新出现````` 该怎么样实现这个功能````求达人详细指点一下````` 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 两个panel,一个 align:=alClient,另一个调整width即可 动态控制窗体宽度和高度就行了 Form1.Width := 10; 显示 Form1.Width := 100; height同理 这中窗口有什么技术含量吗,值得你这么费心,自己控制panel或其他容器组件都可以我看你是想找第三方,不用写一行代码的组件吧 .......QQ框那种可以用MXOUTLOOKBAR 有些控件设置alClient,有些靠左靠右之类的,中间用个splitter 这个当然知道啦```我的意思是想知道怎么修改实现旁边一个panel的隐藏和显示````` 一个全局变量 i:integer;三个panelpanel1.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. panel隐藏是可以实现````panel下面的窗口还在啊``````意思是能够将panel跟panel下面的部分窗口一起隐藏了 求解````加分``` 分割用splitte 想求教具体用法 什么意思,什么是panel下面的部分窗口?你可以在两个panel间加个splitter,两个Panel的align属性分别设置为alleft,alright,这样子如果alright的visible被置为false则alleft的panel会自动填补上alright的部分窗口,造成隐藏右边窗口的效果但这也不是你要的效果吧 你想要那种把alright占用的窗口随着alright的隐藏而相应被切掉的效果,那得重新设定窗口区域再显示啊。获取splitter的left点坐标,设置为新窗口的right坐标,然后再show窗口可以用VC做,很简单,孙鑫的教程里都有。delphi的我没做过这种事 额,更正一下,上边说的panel的align属性必须有一个要为alclient才行,这样才会自动占用剩下的区域,不好意思 DrawGrid的单元格有边框,每个单元格4条边,如何对每条边进行颜色的设定? 請教高手﹐分不夠再發DELPHI用INTERNET 不知是如何連﹐我有SOCKET做的三層結構﹐該如何連呢 在DELPHI里面如何调用WORD打开一个.rtf文档!!! 如何生成存储过程。 怎样获得线程句柄? 2个字符串相连如何弄? 客户机向主机上传,删除文件?相当于Romote Administrator的程序! 如何控制ScrollBox1的滚动条的滚动!!! 哪里有比较好的delphi电子书下载(当然是免费的)?? 各位大虾:小弟在此多谢了! 如何获得网络驱动全路径? 来找几个控件
我看你是想找第三方,不用写一行代码的组件吧
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.
求解````加分```
什么意思,什么是panel下面的部分窗口?你可以在两个panel间加个splitter,两个Panel的align属性分别设置为alleft,alright,这样子如果alright的visible被置为false则alleft的panel会自动填补上alright的部分窗口,造成隐藏右边窗口的效果但这也不是你要的效果吧