全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:6385
推到 Plurk!
推到 Facebook!

如何取得滑鼠座標?

尚未結案
rik
一般會員


發表:40
回覆:81
積分:24
註冊:2004-09-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-09 21:37:24 IP:211.76.xxx.xxx 未訂閱
疑問如題@@ 此外 所得到的座標 和 在設計form時 放元件的座標一樣嗎?
------
時與不時的撿起身旁的拼圖碎片

不懂的部分 半解的部分 就像一塊拼圖
留於腦中 等待拼出完美解答的一天

這就是我的思路 我的創作方法
而我也接受 這作法所帶來的"代價" - 時間
justdo
高階會員


發表:2
回覆:359
積分:222
註冊:2004-08-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-09 22:40:48 IP:221.169.xxx.xxx 未訂閱
在MouseMoving的事件中,可以獲得滑鼠的座標 在Form的MouseMoving事件中獲得的座標是根設計階段的座標一樣的
rik
一般會員


發表:40
回覆:81
積分:24
註冊:2004-09-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-09 23:24:41 IP:211.76.xxx.xxx 未訂閱
引言: 在MouseMoving的事件中,可以獲得滑鼠的座標 在Form的MouseMoving事件中獲得的座標是根設計階段的座標一樣的
抱歉我還是不懂><" 1.MouseMoving 在哪裡@@? (剛剛找一些元件 都沒看到MouseMoving 這個even @@" 也沒在Form的even 中找到@@" ) 2.可以舉個舉得座標 範例嗎? 3.MouseMoving是只要滑鼠移動就會觸發嗎@@? 會不會很佔資源@@?
------
時與不時的撿起身旁的拼圖碎片

不懂的部分 半解的部分 就像一塊拼圖
留於腦中 等待拼出完美解答的一天

這就是我的思路 我的創作方法
而我也接受 這作法所帶來的"代價" - 時間
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-09 23:34:09 IP:61.62.xxx.xxx 未訂閱
Form 就有 OnMouseMove Event,點兩下填入程式碼:
/* 以下的寫法取得對應 Form 的座標 */
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
    Caption = IntToStr(X)   " : "   IntToStr(Y);
}    /* 以下的寫法取得對應整個螢幕的座標 */
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
    TPoint P;
    GetCursorPos(&P);
    Caption = IntToStr(P.x)   " : "   IntToStr(P.y);
}
發表人 - allenchan 於 2004/12/09 23:42:04
rik
一般會員


發表:40
回覆:81
積分:24
註冊:2004-09-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-09 23:40:35 IP:211.76.xxx.xxx 未訂閱
引言: Form 就有 OnMouseMove Event,點兩下填入程式碼:
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
    Caption = IntToStr(X)   " : "   IntToStr(Y);
}
啊-口- 我忘了有On開頭= =' 難怪找不到~"~ 測試中...
------
時與不時的撿起身旁的拼圖碎片

不懂的部分 半解的部分 就像一塊拼圖
留於腦中 等待拼出完美解答的一天

這就是我的思路 我的創作方法
而我也接受 這作法所帶來的"代價" - 時間
rik
一般會員


發表:40
回覆:81
積分:24
註冊:2004-09-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-12-10 00:06:57 IP:211.76.xxx.xxx 未訂閱
引言: Form 就有 OnMouseMove Event,點兩下填入程式碼:
/* 以下的寫法取得對應 Form 的座標 */
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
    Caption = IntToStr(X)   " : "   IntToStr(Y);
}    /* 以下的寫法取得對應整個螢幕的座標 */
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
    TPoint P;
    GetCursorPos(&P);
    Caption = IntToStr(P.x)   " : "   IntToStr(P.y);
    這算多學到的知識>W<
}
發表人 - allenchan 於 2004/12/09 23:42:04
這兩個剛剛都試過了 成功>W< 但是舊的問題剛走 新問題又來了-口- 就是.... 在Form中如果有放一些元件 如Image等 感覺會遮住滑鼠和Form表面一樣 OnMouseMove Event不會被觸發0.0 有解決方法嗎@@? [希望是 只要在Form的OnMouseMove Event寫就好了@@"] 剛剛在用時 有試過讓Image也有OnMouseMove此事件 且觸發後執行內容和 Form一樣 但是結果是 1.Form的OnMouseMove Event不會被觸發 2. 顯示的座標是相對於該圖片-口-"" (也就是圖的OnMouseMove有觸發 只是不是我要的0.0)
------
時與不時的撿起身旁的拼圖碎片

不懂的部分 半解的部分 就像一塊拼圖
留於腦中 等待拼出完美解答的一天

這就是我的思路 我的創作方法
而我也接受 這作法所帶來的"代價" - 時間
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-12-10 00:34:11 IP:61.62.xxx.xxx 未訂閱
改成下面這樣,然後把 Form 上面元件的 OnMouseMove 都選到 FormMouseMove。 
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
    TPoint P;
    GetCursorPos(&P);
    P = ScreenToClient(P);
    Caption = IntToStr(P.x)   " : "   IntToStr(P.y);
}
發表人 - allenchan 於 2004/12/10 00:37:56
rik
一般會員


發表:40
回覆:81
積分:24
註冊:2004-09-24

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-12-10 20:30:15 IP:211.76.xxx.xxx 未訂閱
引言: 改成下面這樣,然後把 Form 上面元件的 OnMouseMove 都選到 FormMouseMove。
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
    TPoint P;
    GetCursorPos(&P);
    P = ScreenToClient(P);
    Caption = IntToStr(P.x)   " : "   IntToStr(P.y);
}
發表人 - allenchan 於 2004/12/10 00:37:56
恩恩 OK了 謝謝^^
------
時與不時的撿起身旁的拼圖碎片

不懂的部分 半解的部分 就像一塊拼圖
留於腦中 等待拼出完美解答的一天

這就是我的思路 我的創作方法
而我也接受 這作法所帶來的"代價" - 時間
barryHsu
一般會員


發表:55
回覆:49
積分:20
註冊:2005-01-25

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-01-26 11:10:25 IP:163.18.xxx.xxx 未訂閱
請問一下 那假如不是一張圖片ㄋ,若是我們自行載入的影像,這樣的話可以得知他的座標ㄇ,因為我有嚐試過不可以得到其座標,不知可幫我解答
rogerchen927
一般會員


發表:0
回覆:2
積分:5
註冊:2010-02-03

發送簡訊給我
#10 引用回覆 回覆 發表時間:2017-10-06 11:49:36 IP:125.227.xxx.xxx 未訂閱
最近剛好遇到此問題, 雖然是很久的討論串, 但留下紀錄給有機會用的人參考.

  pt  tPoint

  pt  MouseCursorPos 
   now have SCREEN position
  Label1Caption   (.)  (.);:=();//.:='X = 'IntToStrptx', Y = 'IntToStrpty
;
系統時間:2024-03-29 13:36:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!