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

如何知道滑鼠座標下的元件是那一個?

尚未結案
jck1
一般會員


發表:53
回覆:67
積分:24
註冊:2002-05-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-30 10:00:53 IP:211.22.xxx.xxx 未訂閱
例如 我想在form 的onmousemove裡知道 我的滑鼠目前是在那個元件的上方 該怎麼得知呢?? 又如果是在grid裡面 我想在當滑鼠移到heading時 在該col的heading秀某訊息 我在grid 的 onmousemove又該怎麼做呢? 謝謝
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-01-30 10:20:15 IP:202.39.xxx.xxx 未訂閱
1.
function FindControlAtPos: TWinControl; 
var 
  Pt: TPoint; 
begin 
  GetCursorPos(Pt); 
  Result := FindControl(WindowFromPoint(Pt)); 
end; 
-- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-01-30 10:29:12 IP:61.218.xxx.xxx 未訂閱
 
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
            Self.Caption :=Sender.ClassName ;
end;
可將此事件指定到其它元件的MouseMove PS:這個是取得ClassName啦~~剛剛沒仔細看< >,沒關係…也是可以參考 =============================================================================== 提醒您,貼錯文章可立即傳訊通知該版版主/站長/副站長協助處理,不要放著不管喔< > 發表人 - ddy 於 2003/01/30 10:37:47
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-01-30 10:34:00 IP:202.39.xxx.xxx 未訂閱
第 2. 點參考: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=22289 -- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
banson1716
高階會員


發表:55
回覆:182
積分:167
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-02-06 03:58:11 IP:61.223.xxx.xxx 未訂閱
試試看 procedure TForm1.Timer1Timer(Sender: TObject); var ClassName: PChar; atCursor: TPoint; hWndMouseOver: HWND; begin GetCursorPos(atCursor); hWndMouseOver:=WindowFromPoint(atCursor); GetMem(ClassName, 100); try GetClassName(hWndMouseOver, ClassName, 100); Label1.Caption:='元件名稱: ' String(ClassName); finally FreeMem(ClassName); end; end;
系統時間:2024-04-30 8:09:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!