請問: 外部視窗拖曳檔案到 Form中 |
答題得分者是:tuga
|
larrytyan
一般會員 發表:51 回覆:38 積分:17 註冊:2004-08-11 發送簡訊給我 |
|
tuga
高階會員 發表:16 回覆:109 積分:120 註冊:2002-07-13 發送簡訊給我 |
|
larrytyan
一般會員 發表:51 回覆:38 積分:17 註冊:2004-08-11 發送簡訊給我 |
|
larrytyan
一般會員 發表:51 回覆:38 積分:17 註冊:2004-08-11 發送簡訊給我 |
自問自答:
問題已經解決了, WMDropFiles(var Msg: TWMDropFiles) 中增加判斷滑鼠所在元件名稱 procedure TFrom1.WMDropFiles(var Msg: TWMDropFiles); var filename: PChar; length: LongWord; pd:TPoint; WinCon : TWinControl; WND : HWND; cmpComponent:TComponent; begin GetCursorPos(pd); WND := Handle; repeat WinCon := FindControl(WND); WND := ChildWindowFromPoint(WinCon.Handle,WinCon.ScreenToClient(pd)); if (WND = 0) or (not WinCon.Showing) or (not WinCon.CanFocus) then //增加判斷 showing focus exit; until (WND = WinCon.Handle) or (WinCon.ControlCount <= 0); cmpComponent := FindComponent(wincon.Name); if cmpComponent.Name = 'DBGrid1' then begin length:= DragQueryFile(Msg.Drop, 0, NIL, 0); filename:= StrAlloc(length 1); DragQueryFile(Msg.Drop,0,filename,length 1); {do something with filename} ShowMessage(filename); Msg.Result:=0; inherited; end; end; ===================引 用 larrytyan 文 章=================== 不行,tedit 的 DragDrop 用在 Form 內部可以, 可是從外部拖曳就不行, 請問還有神人可以幫我解決這個難題嗎? ===================引 用 tuga 文 章=================== 用 tedit 的 DragDrop 可以達成您要的嗎 ? procedure TForm1.Edit1DragDrop(Sender, Source: TObject; X, Y: Integer); begin end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |