解决了类OICQ的界面设计,也找到了制作像QQ那样具有“停靠”和“隐藏”功能的窗体的方法,可下面不知道怎么做了。(0分)

  • 主题发起人 主题发起人 guilinlzy
  • 开始时间 开始时间
G

guilinlzy

Unregistered / Unconfirmed
GUEST, unregistred user!
不好意思,没分了,制作像QQ那样具有“停靠”和“隐藏”功能的窗体的方法参见:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=725073中wenyue 的回答
http://www.delphibbs.com/delphibbs/dispq.asp?lid=150051中hubdog 的回答
可我不知道怎么很好的把它加入到我的 Project 中,请大家帮忙,可给出具体步骤。
 
是一个控件
装到IDE中再放一个到你的Form上就行了。
 
说清楚些啊,xianjun。我是想最好不用控件了。
 
第一个是一个form类,
你把你的form类改成Tappbar就行了。
也就是将
uses中去掉form,加上Appbar;
Tfrom1=class(Tfrom1)
改成
Tform1=class(Tappbar)
第二种就只接使用了,因为他做成了一个控件。
 
帮帮忙啊!
 
我认为是这样的,可以不用控件
你可以观察一下,可以停靠的窗口,都可以随意最大(小)化, 也就是说,
在窗口移动的时候, 来判断,窗口的的坐标, 如果到最顶端, 然后把
窗体的高度设为1,或3。 象是一根线。
 
我照maming的作了,就是采用http://www.delphibbs.com/delphibbs/dispq.asp?lid=725073中wenyue 的回答
但我现在应该把unit AppBar是在 Project 下new 一个 form 还是把unit appbar 生成为。pas文件,因为现在我
还没把unit appbar 加入我的 project中,所以程序中出现“Fiel not find :'appbar.dcu'”
因为还菜,请告知该如何办??????
 
接受答案了.
 
老兄,能否告诉我你在那找到的这个FROM
 
能让我知道 这种方法吗?
basin_zheng@21cn.com
 
其实还是要注册为Appbar,但现在没时间,如果谁弄好了,最好能贴到这上面来,后进者会感谢您的。
实现无标题移动,和粘窗口缩进功能
var
Form1: TForm1;
wlya1_formmovex ,wlya2_formmovey:integer;
wlya3_formMoving:boolean;
implementation
uses Unit2;
{$R *.DFM}
procedure TForm1.Panel1MouseDown(Sender: TObject;
Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer);
begin
if form1.WindowState = wsnormal then
If Button = mbLeft then
begin
wlya1_formmovex:= X;
wlya2_formmovey:= Y;
wlya3_formMoving := True;
end;
end;

procedure TForm1.Panel1MouseMove(Sender: TObject;
Shift: TShiftState;
X, Y: Integer);
begin
If wlya3_formMoving then
begin
Self.SetBounds(Self.Left + X - wlya1_formmovex,
Self.Top + Y - wlya2_formmovey, Self.Width,Self.Height);
end;

end;

procedure TForm1.Panel1MouseUp(Sender: TObject;
Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer);
begin
If Button = mbLeft then
wlya3_formMoving := False;
if self.Top <20 then
begin
Self.SetBounds(Self.Left + X - wlya1_formmovex,
0, Self.Width,Self.Height);
timer1.Enabled :=true;
end else
timer1.Enabled :=false;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
P: TPoint;
begin
///实现窗口缩进功能wly
GetCursorPos(P);
if ((p.x>self.Left)and(p.x<(self.left+self.Width)))
and
(p.y<(self.top+self.Height))
then
begin
form1.clientWidth :=104;
form1.ClientHeight :=356;
end else
begin
form1.ClientHeight :=1;
end;
//^^^^^^^^^^^^当鼠标离开窗口范围就缩回^^^^^^^^^^^^^^^^
end;

end.
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部