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

如何把小圖的座標傳給大圖

答題得分者是:jow
iiskiki
一般會員


發表:8
回覆:10
積分:3
註冊:2007-10-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-10-10 21:13:11 IP:140.131.xxx.xxx 訂閱
請問
我有一張小圖於大圖重疊
我該如何在點到小圖時~
回傳小圖在form上的座標給大圖的mouseup
並且處發大圖的mouseup事件

請高手幫幫忙~
------
嘿~大家好
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-10-12 11:38:34 IP:59.105.xxx.xxx 未訂閱
我的想法是....算出大圖跟小圖之間的座標轉換公式,即大圖x、y坐標是小圖的幾倍
iiskiki
一般會員


發表:8
回覆:10
積分:3
註冊:2007-10-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-10-15 22:38:41 IP:140.131.xxx.xxx 訂閱
還有其他解答?
這跟我所想要的有點不一樣

因為我只是想要把小圖的座標傳回給大圖去做判斷
------
嘿~大家好
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-10-15 23:23:33 IP:123.193.xxx.xxx 訂閱
[code delphi]
//Image1 (大圖)
//Image2 (小圖)

procedure TForm1.Image2Click(Sender: TObject);
var
P: TPoint;
begin
GetCursorPos(P);
//系統座標
Label1.Caption := Format('MouseClick: X=%d, Y=%d', [P.X, P.Y]);


//將系統座標轉換成Image2的Client座標
P := Image2.ScreenToClient(P);
//或 P := Self.ScreenToClient(P);//TForm1的Client座標
Label2.Caption := Format('MouseClick: X=%d, Y=%d', [P.X, P.Y]);


//所以只要引發Image1的Click事件就可以了, 由 Image1自行call GetCursorPos()
//取得系統座標
Image1Click(Image1);


end;


procedure TForm1.Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
//Image2MouseMove, 傳入的是 Image2的Client座標, (0,0)代表Image2的左上角的位置
Label3.Caption := Format('MouseMove: X=%d, Y=%d', [X, Y]);
end;


procedure TForm1.Image1Click(Sender: TObject);
var
P: TPoint;
begin
GetCursorPos(P);
//系統座標
Label4.Caption := Format('MouseClick: X=%d, Y=%d', [P.X, P.Y]);


//將系統座標轉換成Image1的Client座標
P := Image1.ScreenToClient(P);
//或 P := Self.ScreenToClient(P);//TForm1的Client座標
Label5.Caption := Format('MouseClick: X=%d, Y=%d', [P.X, P.Y]);

end;

[/code]
編輯記錄
jow 重新編輯於 2007-10-15 23:24:30, 註解 無‧
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-10-16 09:19:47 IP:61.64.xxx.xxx 訂閱
於 小圖.OnMouseUp 內

呼叫 大圖.OnMouseUp(Sender, Button, Shift, X, Y);


===================引 用 iiskiki 文 章===================
請問
我有一張小圖於大圖重疊
我該如何在點到小圖時~
回傳小圖在form上的座標給大圖的mouseup
並且處發大圖的mouseup事件

請高手幫幫忙~
iiskiki
一般會員


發表:8
回覆:10
積分:3
註冊:2007-10-03

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-10-24 00:33:00 IP:140.131.xxx.xxx 訂閱
謝謝大家的指教
後來想想
其實沒有那麼複雜
不過還是要謝謝大家
------
嘿~大家好
系統時間:2024-11-25 23:19:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!