線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1261
推到 Plurk!
推到 Facebook!

兩個form之間的同步移動?

答題得分者是:wameng
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-22 16:10:01 IP:61.71.xxx.xxx 未訂閱
請問各位! form1 600*400 form2 200*100 form2 的建立方式如下(顯示在form1內, stayontop) form2:= tform2.create(self); apoint:= form1.panel1.clienttoscreen(point(0,0)) form2.top:= apoint.y; form2.left:= apoint.x; form2.show; 如果移動form1位置時, 希望form2能同步跟著form1的相對位置移動 我試的結果, 當移動form1時只會啟動 ondeactive, mousemove, onactive三個 事件, 要如何才可以令form1移動結束時, form2自動歸位到form1相對位置, 謝謝!
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-22 16:31:54 IP:61.222.xxx.xxx 未訂閱
直接接管訊息 Procedure WMMOVE (Var Msg:Tmessage);Message WM_MOVE; Procedure TFform1.WMMOVE (Var Msg:Tmessage); begin ...... 以Form1的座標 參考給 Form 2 end;
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-22 18:12:25 IP:61.71.xxx.xxx 未訂閱
引言: 直接接管訊息 Procedure WMMOVE (Var Msg:Tmessage);Message WM_MOVE; Procedure TFform1.WMMOVE (Var Msg:Tmessage); begin ...... 以Form1的座標 參考給 Form 2 end;
謝謝, 可以用了, 程式如下
Procedure TForm1.WMMOVE(Var Msg:Tmessage);
   var aPoint: TPoint;
begin
   aPoint:= Form1.Panel1.ClienttoScreen(Point(0,0))
   Form2.Top := aPoint.y;
   Form2.Left:= aPoint.x;
   Form2.Show
end;
主要就是form1移動時用wameng指示的WMMOVE 來補捉FORM1的移動事件
系統時間:2024-06-26 16:58:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!