国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

tlistview使用--拖放操作

2019-11-18 18:30:36
字體:
來源:轉載
供稿:網友
 

下列程序是本人在軟件開發過程中根據用戶操作上的方便,寫的一個小過程,主要實現了向listview控件中拖放文件功能,其源代碼如下:

PRocedure tyanzheng.AppMessage(var Msg: TMsg;var Handled: Boolean);
var
nFiles, I: Integer;
ListItem: TListItem;
begin
if (Msg.message = WM_DROPFILES) and (msg.hwnd = ListView1.Handle) then
begin
if MessageDlg('確定要加入嗎',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin
// 取dropped files的數量
nFiles := DragQueryFile (Msg.wParam, $FFFFFFFF, nil, 0);
// 循環取每個拖下文件的全文件名
try
for I := 0 to nFiles - 1 do
begin
// 為文件名分配緩沖 allocate memory
SetLength (Filename, 80);
// 取文件名 read the file name
DragQueryFile (Msg.wParam, I, PChar (Filename), 80);
Filename := PChar (Filename);
//將全文件名分解程文件名和路徑
ListItem := ListView1.Items.Add;
ListItem.Caption := ExtractFileName(FileName);
listitem.ImageIndex:=6;
ListItem.SubItems.Add(ExtractFilePath(FileName));
filepath:=extractfilepath(filename);
//drage:=true;
end;
finally
//結束這次拖放操作
DragFinish (Msg.wParam);
end;
//標識已處理了這條消息
Handled := True;
 movefile(pchar(filename),pchar(filespath+listitem.caption));
end;end;
end;
注意:本程序功能是完整的,程序中使用了movefile函數,也就是說,實現了把操作的文件移到了系統所在的目錄中,因此建議在調試過程中不要用重要的文件作調試用。

程序中用到了向windows發送消息,不明白的話,建議看一些有關方面的文章(本程序可直接運行,須加入到系統中),本程序與《tlistview顯示文件夾內容中的程序結合使用,效果更好》

程序用在showform事件中:用法如下:

//設置需要處理文件WM_DROPFILES拖放消息
DragAcceptFiles(ListView1.Handle, TRUE);
//設置AppMessage過程來捕獲所有消息
application.OnMessage := AppMessage;


上一篇:Win32調試API學習心得(二)

下一篇:TListView組件顯示文件夾中的文件

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 密云县| 新野县| 香港| 平陆县| 施秉县| 博乐市| 邵阳县| 越西县| 宁远县| 黔西县| 松江区| 吉木萨尔县| 揭西县| 军事| 峨眉山市| 临湘市| 家居| 沙河市| 宜良县| 嘉禾县| 巍山| 桓仁| 拜城县| 武平县| 镇坪县| 云龙县| 道真| 涞水县| 赤水市| 关岭| 天门市| 奇台县| 遂溪县| 罗甸县| 安义县| 隆尧县| 海安县| 即墨市| 额敏县| 阿克| 信阳市|