dbgrid可以在mousemove時 記錄位置也跟著動嗎 |
尚未結案
|
twbestama
一般會員 發表:32 回覆:13 積分:9 註冊:2005-04-25 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi twbestama, 在該 DBGrid 的 OnMouseMove 事件加入以下程式碼試試:
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin MOUSE_EVENT(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0 ); MOUSE_EVENT(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 ); end;---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
twbestama
一般會員 發表:32 回覆:13 積分:9 註冊:2005-04-25 發送簡訊給我 |
謝謝回答
確實可以了
但還有另一個問題
其實我的事件是寫在DragOver裡面的
這樣的話我的dragover會變得沒有用了
請多多指教謝謝
procedure Tmainform.picgridDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
MOUSE_EVENT(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0 );
MOUSE_EVENT(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 ); end;
|
twbestama
一般會員 發表:32 回覆:13 積分:9 註冊:2005-04-25 發送簡訊給我 |
應該是這樣才對
我最後要在dragdrop時移動到該筆記錄並取得記錄的值
procedure Tmainform.picgridDragDrop(Sender, Source: TObject; X,
Y: Integer);
var
id : TGridCoord;
begin id := picgrid.Mousecoord(x,y); //取得目前mouse所在之col及row
if((id.x>1) and (id.y>0) and (id.x<5))then
begin
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);// click down
mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);// click down
application.ProcessMessages; showmessage(datamodule1.DataSource2.DataSet.FieldByName('name').asstring); //要取得值但取不到現在的值只能取得上一筆 end; end;
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
|
twbestama
一般會員 發表:32 回覆:13 積分:9 註冊:2005-04-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |