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

滑鼠移動的問題

答題得分者是:cmf
chiehjj
初階會員


發表:21
回覆:63
積分:26
註冊:2002-12-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-07 19:43:37 IP:139.223.xxx.xxx 未訂閱
我在click事件內移動滑鼠,使滑鼠經過兩個shape物件上方,我在shape的mousemove事件內有一個text,希望滑鼠經過時text能顯示滑鼠經過的訊息 可是從螢幕上可以看到滑鼠經過兩個shape物件  但是text卻無法顯示 不知為何?程式附錄於後,  請前輩指點迷津, 謝謝                                                     chiehjj上    procedure TForm1.Button6Click(Sender: TObject); var    j:integer; begin     J:=0;     while J<600 do begin begin setcursorpos(j,500);//滑鼠依序右移 J:=J 1; end; end; end; procedure TForm1.DSShape2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin e8.Text:='mouse is moving to shape2 ';//滑鼠經過時顯示 end; procedure TForm1.DSShape1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin e8.Text:='mouse is moving to shape1 '; end;
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-07 19:54:30 IP:61.70.xxx.xxx 未訂閱
chiehjj 你好:    你使用 setcursorpos(j,500);  並不會 觸發 ONMOUSEMOVE       可以告知 主要的 用途 是什麼嗎?                發表人 - cmf 於 2003/02/07 21:03:29
------
︿︿
chiehjj
初階會員


發表:21
回覆:63
積分:26
註冊:2002-12-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-08 09:03:34 IP:139.223.xxx.xxx 未訂閱
前輩好 請教前輩有何方法可觸發onmousemove事件? 我想要try一個隨機移動的程式 ,如果前有障礙物就要避開,我想用強迫 滑鼠移動的方式來測試物件前進時有無碰到障礙物,未知可不可行 或是有其他方法可供應用. chiehjj上
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-08 14:18:53 IP:61.70.xxx.xxx 未訂閱
chiehjj 你好:    [BULE] 測試物件前進時有無碰到障礙物,未知可不可行 或是有其他方法可供應用.  [/BLUE]    procedure TForm1.Button6Click(Sender: TObject); var j:integer; h:HWND; pt:TPont;    begin    J:=0; pt.x:=0; pt.y:=500; while J<600 do begin begin h:=WindowFromPoint(pt); if h<>0 then begin SetWindowPos(h,HWND_BOTTOM,0,0,0,0,SWP_NOSIZE); end; J:=J+1; pt.x:=j; end; end; end;
------
︿︿
chiehjj
初階會員


發表:21
回覆:63
積分:26
註冊:2002-12-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-02-10 14:30:49 IP:139.223.xxx.xxx 未訂閱
cmf前輩 測試結果form會下移至底層,我將這行程式 SetWindowPos(h,HWND_bottom,0,0,0,0,SWP_NOSIZE); 修改成 SetWindowPos(h,HWND_bottom,J,0,0,0,SWP_NOSIZE); 這樣其他應用程式的畫面會往右移動 仍無法偵測物件有無在移動的路徑上 是否我操作錯誤? chiehjj上
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-02-10 14:34:37 IP:61.218.xxx.xxx 未訂閱
這一行是 偵測視窗有無在移動的路徑上 h:=WindowFromPoint(pt);    if h=0 表示沒有      發表人 - cmf 於 2003/02/13 09:40:08
------
︿︿
x803198
一般會員


發表:8
回覆:28
積分:17
註冊:2002-12-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-02-17 04:36:02 IP:61.216.xxx.xxx 未訂閱
引言: 這一行是 偵測視窗有無在移動的路徑上 h:=WindowFromPoint(pt); if h=0 表示沒有 發表人 - cmf 於 2003/02/13 09:40:08
試試這個笨方法吧 我是去檢查我Mouse是不是在我的物件範圍內 procedure TForm1.Button1Click(Sender: TObject); var i,j:integer; pt:TPoint; begin J:=0; pt.x:=0; pt.y:=500; while J<500 do begin setcursorpos(j,500); for i:=0 to Form1.ControlCount-1 do if PtInRect(Form1.Controls[i].BoundsRect,pt) then if Form1.Controls[i].NewInstance is TShape then begin Edit1.Text := Form1.Controls[i].Name; Edit1.Refresh; end; sleep(1); J:=J+1; pt.x := j; end; end;
chiehjj
初階會員


發表:21
回覆:63
積分:26
註冊:2002-12-31

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-02-17 16:52:05 IP:139.223.xxx.xxx 未訂閱
X兄 你提供的方法亦可以用,謝謝 CMF前輩指點較多,所以CMF前輩得分 兩位前輩的指點讓我受益良多 ,謝謝 Chiehjj上
系統時間:2024-11-25 8:16:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!