我希望, 在窗口最大化的时候,能够设置自动隐藏, 使得整个窗体隐藏到窗口的最上面,然后鼠标到最上方的时候可以再显示出来,就想我们经常使用的QQ一样, 这应该怎么办,谢!
解决方案 »
- 在三方控件TcxvirtualTreeList中如何取得節點指針的地址,在線等,急!知者請進,
- 哪里有电力系统的图形控件啊!!!!!!!!!!!!!!!急!!!!!!!!
- 小弟想入门,那位前辈有DELPHI数据控件的电子帮助文档呀,属情方法之类的
- TForm.Create(Application) 与 Tfrom.Create(self)的区别是什么?
- TAG属性可以递增使用码?下面的使用方法为什么不起作用?
- 征求API函数SHFileOperation详解
- Delphi 6 是否BUG比较多,有什么好的解决办法没有呢?
- 如何调试ISAPI程序?
- 请问大大们一个关于richedit的问题
- 谁能告诉我如何 通过 sql语句创建一个access数据库,而不是一个表!我用的是ADOQuery控件!
- 如何将数据库连接和访问做到一个DLL里面
- 使用了决策控件的请进入( 就是有DECESION开头的)
function GetFormNameAt ( X, Y : integer ) : string;
var
P:TPoint;
W:TWinControl;
begin
P.X := X;
P.Y := Y;
W := FindVCLWindow(P); //得到鼠标指针下的VCL可视组件
if ( nil <> W ) then
begin
while w.Parent<>nil do //当W的上级Parent不为空时就继续往上找
w:=w.Parent;
Result := W.Name;//最后返回窗体的名称Name
end
else begin
Result := '';
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
winPos:TPoint;
begin
GetCursorPos(winpos); //得到当前鼠标指针的在屏幕上的坐标 //当鼠标指针下的窗体的Name等于form1.name时
if form1.name=GetFormNameAt(winpos.X,winpos.Y) then
{在此我们可以为form1取一个特别的名称,以防有别的窗体名称与它相同}
begin
form1.Timer2.Enabled:=false; //停用Timer2
form1.Top:=0; //form1的Top与屏幕对齐
end
else
form1.Timer2.Enabled:=true; //开启Timer2
end;procedure TForm1.Timer2Timer(Sender: TObject);
begin
if form1.Top<=20 then
form1.Top:=-(form1.Height-10);//将form1向上移,在屏幕上方露出10像素
end;