六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

完成QQ窗體的縮入伸出技巧

[摘要]不知道大家在使用QQ時有沒有想到它的縮入伸出的功能是如何實現的呢?實現這個效果的關鍵在于如何判斷當前鼠標指針下面的窗體是不是我們的程序窗體。GetCursorPos()是一個可以獲得鼠標指針在屏幕中的坐標的API函數,利用它與FindVCLWindow()的結合就可以輕易地獲得鼠標指針下的VCL可...
    不知道大家在使用QQ時有沒有想到它的縮入伸出的功能是如何實現的呢?實現這個效果的關鍵在于如何判斷當前鼠標指針下面的窗體是不是我們的程序窗體。GetCursorPos()是一個可以獲得鼠標指針在屏幕中的坐標的API函數,利用它與FindVCLWindow()的結合就可以輕易地獲得鼠標指針下的VCL可視組件,但當一個窗體中不只一個VCL可視組件,例如可能還有TPanel、TMemo等等類型時,那么我們就必須要查找到它們的Parent級,最終得到TForm,那就是指我們的程序窗體。按照這個思路我自定義了GetFormNameAt()函數,它可獲得當前鼠標指針下面的窗體的名稱。以下列出程序的主要實現代碼,供大家參考:

//自定義函數GetFormNameAt,獲得鼠標針指下窗體的Name
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;


主站蜘蛛池模板: 日韩欧美亚洲国产精品字幕久久久 | 色综合久久久久久888 | 天天爽视频 | 中文字幕伊人 | 欧美网站在线观看 | 日产精品久久久一区二区 | 日韩第二页| 青青青国产| 亚洲综合第一页 | 日夜啪 | 一级做a爰片久久毛片16 | 日日摸夜夜添夜夜添影院视频 | 四虎海外在线永久免费看 | 日韩黄a级成人毛片 | 亚洲成a人片| 四虎国产精品免费久久久 | 一级香蕉视频在线观看 | 午夜激情一区 | 青青青视频在线播放 | 青草影院在线观看免费版 | 香蕉人人超| 四虎影院观看视频在线观看 | 亚洲乱码一二三四五六区 | 青青草手机视频在线观看 | 日日干狠狠| 热热色国产 | 午夜性色视频 | 亚洲免费二区 | 日本亚洲欧洲高清有码在线播放 | 色噜噜狠狠色综合欧洲 | 天堂国产在线观看 | 亚洲第一页视频 | 日韩亚射吧 | 亚洲手机在线观看 | 日韩精品久久一区二区三区 | 中文字幕亚洲一区二区v@在线 | 中文日韩字幕一区在线观看 | 青娱乐极品视频在线观看 | 色在线网站免费观看 | 日日久| 日日舔夜夜操 |