日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何模拟鼠标的拖拽行为.

發(fā)布時間:2024/4/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何模拟鼠标的拖拽行为. 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
如何模擬鼠標(biāo)的拖拽行為. Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiAPI/html/delphi_20061112235944246.html
我想用鼠標(biāo)模擬拖拽某一表格的列行為,就是把第一列拖到第五列尋樣.

計算好目標(biāo)窗口的坐標(biāo),然后把該窗口置為前臺,再用類似下面這樣的代碼試試: ?
? mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); ?
? mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

樓上的方法偶試過,但一直沒有成功. ?
? 測試情況是wm_lbuttondown, ? wm_mousemove,wm_lbuttonup消息都捕獲了 ?
? (坐標(biāo)是沒有問題的.) ?
? 就是沒有實(shí)現(xiàn)拖動列的效果. ?
? 偶是在DELPHI下試的. ?
? ?
?

function ? MouseToScreen(mVertical: ? Boolean; ? mMouse: ? Integer): ? Integer; ?
? begin ?
? ? ? case ? mVertical ? of ?
? ? ? ? ? False: ? Result ? := ? Round(mMouse ? * ? (MAXWORD ? / ? Screen.Width)); ?
? ? ? else ? Result ? := ? Round(mMouse ? * ? (MAXWORD ? / ? Screen.Height)); ?
? ? ? end; ?
? end; ?
? ?
? procedure ? TForm1.Button1Click(Sender: ? TObject); ?
? var ?
? ? ? vPoint: ? TPoint; ?
? begin ?
? ? ? vPoint ? := ? Panel1.ClientToScreen(Point(1, ? 1)); ?
? ? ? mouse_event(MOUSEEVENTF_ABSOLUTE ? or ? MOUSEEVENTF_MOVE, ?
? ? ? ? ? MouseToScreen(False, ? vPoint.X), ? MouseToScreen(True, ? vPoint.Y), ? 0, ? 0); ?
? ? ? mouse_event(MOUSEEVENTF_ABSOLUTE ? or ? MOUSEEVENTF_LEFTDOWN, ?
? ? ? ? ? MouseToScreen(False, ? vPoint.X), ? MouseToScreen(True, ? vPoint.Y), ? 0, ? 0); ?
? ? ? Dec(vPoint.X, ? 200); ?
? ? ? Dec(vPoint.Y, ? 200); ?
? ? ? mouse_event(MOUSEEVENTF_ABSOLUTE ? or ? MOUSEEVENTF_MOVE, ?
? ? ? ? ? MouseToScreen(False, ? vPoint.X), ? MouseToScreen(True, ? vPoint.Y), ? 0, ? 0); ?
? ? ? mouse_event(MOUSEEVENTF_ABSOLUTE ? or ? MOUSEEVENTF_LEFTUP, ?
? ? ? ? ? MouseToScreen(False, ? vPoint.X), ? MouseToScreen(True, ? vPoint.Y), ? 0, ? 0); ?
? end; ?
? ?
? procedure ? TForm1.FormCreate(Sender: ? TObject); ?
? begin ?
? ? ? Panel1.DragKind ? := ? dkDock; ?
? ? ? Panel1.DragMode ? := ? dmAutomatic; ?
? end; ?
?

TO ? 樓上: ?
? 非常感謝! ?
? 可是對TStringGrid列的拖動還是不行.

超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的如何模拟鼠标的拖拽行为.的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。