如何模擬滑鼠的拖拽行為

2021-09-05 20:23:55 字數 1872 閱讀 7390

如何模擬滑鼠的拖拽行為. delphi / windows sdk/api

我想用滑鼠模擬拖拽某一**的列行為,就是把第一列拖到第五列尋樣.

計算好目標視窗的座標,然後把該視窗置為前台,再用類似下面這樣的**試試:  

mouse_event(mouseeventf_leftdown,0,0,0,0);  

mouse_event(mouseeventf_leftup,0,0,0,0);

樓上的方法偶試過,但一直沒有成功.  

測試情況是wm_lbuttondown,   wm_mousemove,wm_lbuttonup訊息都捕獲了  

(座標是沒有問題的.)  

就是沒有實現拖動列的效果.  

偶是在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列的拖動還是不行.

如何模擬滑鼠的拖拽行為

如何模擬滑鼠的拖拽行為.delphi windows sdk api 我想用滑鼠模擬拖拽某一 的列行為,就是把第一列拖到第五列尋樣.計算好目標視窗的座標,然後把該視窗置為前台,再用類似下面這樣的 試試 mouse event mouseeventf leftdown,0,0,0,0 mouse ev...

selenium 模擬滑鼠拖拽

1 從乙個元素拖拽到另乙個元素 from selenium import webdriver from selenium.webdriver import actionchains import time browser webdriver.chrome try browser.get browse...

模擬滑鼠的單雙擊

實現方法 先用setcursorpos將滑鼠移動到某一特定位置。如果要模擬滑鼠單擊,則呼叫mouse event函式兩 次分別傳送滑鼠被按下的訊息和滑鼠被彈起的訊息 如果要模擬滑鼠雙擊,則重 送一次滑鼠被按下 和彈起的訊息。程式 2 給對話方塊增加 雙擊標題欄 按鈕,其響應函式為 void csim...