兩個form之間的同步移動? |
答題得分者是:wameng
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
請問各位! 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 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 直接接管訊息 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的移動事件 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |