如何摸擬拖曳檔案? |
尚未結案
|
gavinj123
初階會員 發表:88 回覆:48 積分:27 註冊:2002-10-15 發送簡訊給我 |
|
wushang
一般會員 發表:2 回覆:13 積分:13 註冊:2003-02-10 發送簡訊給我 |
以下是我在Checklistbox用到的拖放﹐可供你研究﹕
...
Public
procedure AppMessage(var Msg: TMsg; var Handled: Boolean);//接受拖放
implementation
....
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
var
nFiles, I,j: Integer;
Filename,df: string;
begin
//文件列表框接受拖放
if (Msg.message = WM_DROPFILES) and (msg.hwnd = CheckListBox1.Handle) then
begin
nFiles := DragQueryFile (Msg.wParam, $FFFFFFFF, nil, 0);
try
for I := 0 to nFiles - 1 do
begin
SetLength (Filename, 80);
DragQueryFile (Msg.wParam, I, PChar (Filename), 80);
CheckListBox1.Items.Append(Filename);
end;
finally
DragFinish (Msg.wParam);
end;
Handled := True;
end;
end; procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(CheckListBox1.Handle, TRUE);
end;
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
引言: 一般我在用winamp時都是直接把mp3檔案拖曳到winamp的撥放清單上,如果我想要用程式來做的話,我要送什麼message給winamp的撥放清單?可以分兩個方向考慮 1. 如果考慮程式是放在DeskTop上以ICON存在的未啟動狀態, 檔案拖曳到程式上實際上是傳入參數來啟動程式, 故不須再送什麼message, 只要直接取得參數 for i := 1 to ParamCount do begin ParamStr(i) //這些就是拖曳上來的檔 ...2. 如果是在程式執行狀態, 拖曳到某一元件上那麼就在該元件的onDragDrop上處理 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |