請問如何取得滑鼠點選的檔案名稱及路徑? |
答題得分者是:wameng
|
ddoollidelphi
一般會員 ![]() ![]() 發表:2 回覆:3 積分:1 註冊:2007-06-30 發送簡訊給我 |
各位先進好:
我想製作一個小程式,類似使用Media Player聽音樂時,用滑鼠點選想聽的音樂,拖曳到現正播放清單就可以加入播放檔案的功能。 以下是我想做的程式說明: 當滑鼠將選取的檔案拖曳到程式中的Memo或者ListBox之類的元件後,元件上會顯示被滑鼠拖曳的檔案名稱以及檔案路徑(可能多個或一個)。 請教各位先進,我可以用winapi來取得滑鼠點選的檔名及路徑嗎?在發問前我已先翻過ktop的文章,但並沒有尋找到類似的討論主題,同樣我也上了Google、Yahoo的搜尋引擎尋找過,曾有找到關於Winapi函式與函式庫的說明,以及少許的範例,但多數都是VB語法寫的,且也沒有找到關於取得滑鼠選取檔名的函數,不知道我有沒有漏看,還請各位先進多多包含。 因為這是老師出的題目,懇請各位先進可以給予我一些建議或者方向。我想先學習可以取得被滑鼠選取檔名的方法,再將取得的檔名加入Memo上顯示,我想這樣的概念應該是正確的,如果有誤希望各位先進可以給予指教。 由於我學習Delphi的語法僅在課程上,學習也有一學年的時間了,但還不會使用Delphi呼叫Winapi函數,如果有推薦的書籍、參考網站也希望各位先進可以不吝告知,先謝過各位耐心看完這篇問題,感激! 頭一次發問還請多包涵。 ![]()
------
學習在挫折中成長 學習在逆境中萌芽 學習在論壇找寶藏 學習在程式找樂趣 By Delphi實習中的 諼 |
Coffee
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:878 積分:561 註冊:2006-11-15 發送簡訊給我 |
|
Stallion
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
ddoollidelphi
一般會員 ![]() ![]() 發表:2 回覆:3 積分:1 註冊:2007-06-30 發送簡訊給我 |
|
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
ddoollidelphi
一般會員 ![]() ![]() 發表:2 回覆:3 積分:1 註冊:2007-06-30 發送簡訊給我 |
|
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
procedure TEVScrollBox.WMDROPFILES(var Message:TMessage);
var nFiles : Integer; FileName : String; begin With Message do try nFiles := DragQueryFile (wParam, $FFFFFFFF, nil, 0); SetLength(FileName, 80); DragQueryFile(wParam,0, PChar(Filename), 80); FileName := PChar(FileName); {Filter #0}; if Assigned(fMadeMapdata) then fMadeMapdata.LoadDataFromFile(FileName); finally DragFinish (wParam); end; end; if Assigned... 換掉即可。 |
wewe760109
一般會員 ![]() ![]() 發表:9 回覆:14 積分:4 註冊:2007-06-26 發送簡訊給我 |
.
編輯記錄
|
ddoollidelphi
一般會員 ![]() ![]() 發表:2 回覆:3 積分:1 註冊:2007-06-30 發送簡訊給我 |
===================引 用 wameng 文 章=================== procedure TEVScrollBox.WMDROPFILES(var Message:TMessage); var ? nFiles : Integer; ? FileName : String; begin ? With Message do ? try ??? nFiles := DragQueryFile (wParam, $FFFFFFFF, nil, 0); ??? SetLength(FileName, 80); ??? DragQueryFile(wParam,0, PChar(Filename), 80); ??? FileName := PChar(FileName); {Filter #0}; ??? if Assigned(fMadeMapdata) then fMadeMapdata.LoadDataFromFile(FileName); ? finally ??? DragFinish (wParam); ? end; end; if Assigned... 換掉即可。 謝謝wameng 問題已經解決了~ (不好意思~上方那個是同學的帳號,忘了登出就回覆,這個才是我的帳號...^^")
------
學習在挫折中成長 學習在逆境中萌芽 學習在論壇找寶藏 學習在程式找樂趣 By Delphi實習中的 諼
編輯記錄
ddoollidelphi 重新編輯於 2007-09-04 11:21:30, 註解 無‧
ddoollidelphi 重新編輯於 2007-09-04 11:24:02, 註解 無‧ ddoollidelphi 重新編輯於 2007-09-04 12:50:23, 註解 無‧ ddoollidelphi 重新編輯於 2007-09-04 14:39:06, 註解 無‧ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |