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

滑鼠事件2

尚未結案
~SAI~
一般會員


發表:5
回覆:9
積分:2
註冊:2005-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-21 14:36:49 IP:61.231.xxx.xxx 未訂閱
不好意思! 剛剛提到的 >
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-21 14:59:27 IP:219.137.xxx.xxx 未訂閱
~SAI~ 您好: 把相關的程式敘述以及錯誤訊息貼上來,這樣子比較清楚些。
~SAI~
一般會員


發表:5
回覆:9
積分:2
註冊:2005-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-21 15:29:05 IP:61.231.xxx.xxx 未訂閱
//------------------------------------------------------------------- void __fastcall TForm1::Image1MouseDown(TObject *Sender,       TMouseButton Button, TShiftState Shift, int X, int Y) {   if(Button==mbLeft)   {     x1=X;     y1=Y;   } } //------------------------------------------------------------------- void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button,       TShiftState Shift, int X, int Y) {   if(Button==mbLeft)   {     x2=X;     y2=Y;   } } //------------------------------------------------------------------- 我想要在Image1中紀錄下壓下滑鼠左鍵的座標(x1,y1)及放掉滑鼠左鍵的座標(x2,y2) Image1MouseDown(Image1,mbLeft,NUll,x1,y1); Image1MouseUp(Image1,mbLeft,NUll,x2,y2); 但是TShiftState Shift的值一直出問題! 希望大家看看哪裏寫錯了!!
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-21 15:52:28 IP:219.137.xxx.xxx 未訂閱
你是要 "記錄滑鼠座標" 還是要 "模擬送出 MouseDown 事件"? 請把你用到你發生錯誤處的那一整段敘述都貼上來,或是說明那段敘述在何種狀態下會執行到? 發表人 - RedSnow 於 2005/05/21 15:54:24
~SAI~
一般會員


發表:5
回覆:9
積分:2
註冊:2005-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-21 16:13:49 IP:61.231.xxx.xxx 未訂閱
我是要紀錄滑鼠座標! 以下紅色部分是編譯時發生錯誤的部份: Iage1MouseDown(Image1,mbLeft,NULL,x1,y1); Image1MouseUp(Image1,mbLeft,NULL,x2,y2); 而我是要在Image1中紀錄下壓下滑鼠左鍵的座標(x1,y1)及放掉滑鼠左鍵的座標(x2,y2)!
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-21 16:26:46 IP:219.137.xxx.xxx 未訂閱
我對你的前一個問題有誤區,給你以 NULL 代入 OnMouseDown 事件的答覆是錯誤的。    記錄座標值僅需在 MouseDown 或 MouseUp 事件內直接由外部傳入參數的 X, Y 值取得即可。你是要記錄下來後,再模擬送出 MouseDown 以及 MouseUp 事件是嗎?如果是的話,請改用下列方式:
Image1->Perform(WM_LBUTTONDOWN, MK_LBUTTON, MakeLong(x1, y1));
Image1->Perform(WM_LBUTTONUP, MK_LBUTTON, MakeLong(x2, y2));
發表人 - RedSnow 於 2005/05/21 16:53:30
~SAI~
一般會員


發表:5
回覆:9
積分:2
註冊:2005-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-21 16:52:22 IP:61.231.xxx.xxx 未訂閱
謝謝RedSnow的指點!! 但是我用Label來輸出,卻無法顯示MouseDown(x1,y1)及MouseUp(x2,y2)的座標?? Label_x1->Caption=x1; Label_y1->Caption=y1; Label_x2->Caption=x2; Label_y2->Caption=y2;
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-05-21 16:54:44 IP:219.137.xxx.xxx 未訂閱
剛才改過前一篇的程式敘述,你再試試看。
~SAI~
一般會員


發表:5
回覆:9
積分:2
註冊:2005-03-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-05-22 16:22:18 IP:61.231.xxx.xxx 未訂閱
謝謝你提供的方法,似乎還埋蠻成功的,謝謝!!
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-05-22 18:22:13 IP:219.136.xxx.xxx 未訂閱
很高能幫上忙,但是也對先前提供錯誤資訊而耽誤你不少時間感到很抱歉,希望你撰寫手邊的程式能順順利利。
系統時間:2024-06-02 2:31:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!