仿Q.Q界面的靠边停靠怎么写?求思路!
delphi吧
全部回复
仅看楼主
level 10
最近想写一下像q.q的靠边停靠收缩,这个怎么写?新手,求思路,求源码,我分析研究一下!
2014年11月02日 04点11分 1
level 10
好冷清啊
2014年11月02日 04点11分 2
level 10
去淘宝买代码吧。
2014年11月02日 04点11分 3
level 1
如果窗口左边加窗口宽度等于屏幕宽度 窗口左边等于屏幕宽度
2014年11月03日 04点11分 4
level 8
钩子?
2014年11月04日 11点11分 5
那是什么
2014年11月05日 04点11分
level 7
判断窗体坐标 left 若为0 或宽 隐藏窗口
getcursorpos 判断 鼠标 位置 left 若为0 或宽 显示窗口
2014年11月04日 16点11分 6
level 11
这个好象没那么复杂吧,随便弄个TIMER控件里加上LEFT和TOP的值的判断。
2014年11月06日 13点11分 7
像qq的自动靠边伸缩!
2014年11月08日 10点11分
level 10
private
{ Private declarations }
Procedure OnMove(Var Message:TMessage); Message WM_MOVE;
public
Procedure TForm_Main.OnMove(Var Message:TMessage);
begin
If GetWindowRect(Form_Main.Handle, lpRect) And (Metrics.X > 0) And (Metrics.Y > 0) Then
begin
if lpRect.Left < 30 then
begin
Form_Main.Left := 0 - (Form_Main.Width - 10); //左隐藏
end Else
if (Metrics.X - lpRect.Right) < 30 then
begin
Form_Main.Left := Metrics.X - 10; //又隐藏
end Else
if lpRect.Top < 30 then
begin
Form_Main.Top := 0 - (Form_Main.Height - 10); //上隐藏
end Else
if (Metrics.Y - lpRect.Bottom) < 30 then
begin //下隐藏
Form_Main.Top := Metrics.Y - 60;
end;
end;
end;
隐藏的鼠标划过弹出自己再加一个鼠标MouseMove的事件就行了
这都是基础的Windows 可视化编程......几个API 几个判断就搞定的事情了...
2014年11月09日 07点11分 8
看完了你的代码有个疑问:最后不需要再加个else 没有动作(不隐藏)吗?
2014年11月15日 16点11分
测试了下,这段代码好像无效。
2014年11月17日 15点11分
level 10
先谢了,回头看看可以不!
2014年11月09日 10点11分 9
level 8
能不能这样。timer判断窗体位置,靠边了就移到屏幕外面,留下三像素,然后将窗口置顶(保持置顶代码网上有)然后在鼠标悬停事件上写入移动回来的代码。。。
2014年11月22日 05点11分 13
1