滑鼠移動的問題 |
答題得分者是:cmf
|
chiehjj
初階會員 發表:21 回覆:63 積分:26 註冊:2002-12-31 發送簡訊給我 |
我在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 發送簡訊給我 |
|
chiehjj
初階會員 發表:21 回覆:63 積分:26 註冊:2002-12-31 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
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 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
|
x803198
一般會員 發表:8 回覆:28 積分:17 註冊:2002-12-06 發送簡訊給我 |
引言: 這一行是 偵測視窗有無在移動的路徑上 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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |