線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:565
推到 Plurk!
推到 Facebook!

如何做類似檔案總管的功能

答題得分者是:lazarus
blue
中階會員


發表:170
回覆:136
積分:81
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2018-08-21 12:25:46 IP:125.227.xxx.xxx 未訂閱
Hi,各位先進大家好:
小弟要做的實在是一個小小小小的專案,
本地及遠端檔案的操作,如扡拉,複製,改名...等,
因平台是Windows & Apple MAC,
故使用FireMonkey,但,惡夢不斷,
例如要顯示只有照片的話,只能用 ListBox(可設多Column),再不就是用 TStringGrid 自己算欄位來放圖,
因顯示的欄數比較多,使用ListView也不太適合,所以使用TStringGrid比較適合,
因要可編輯檔名,使用ListBox & ListView 目前尚未試出如何改,TStringGrid比較適合,
最終選了TStringGrid,又碰上困難了-->TStringGrid 竟然沒有MultiSelect....天啊!
反倒是ListBox可多選,可ListBox無法改名 & 顯示多欄,
不知各位先進有沒有比較好的建議?
謝謝!
lazarus
一般會員


發表:14
回覆:38
積分:20
註冊:2018-05-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2018-08-22 00:13:11 IP:111.184.xxx.xxx 未訂閱
1.利用一個看不到的 Column 做記號放值, 例如畫面上看到四個 Column, 你把記號放在畫面上看不到的第五個 Column
2.點一下該 Row 後該 Column 內容就偷偷塞 "1" , 再點一下該 Row 就把該 Column 塞空字串
3.在 StringGrid 的 OnDrawCell() 事件中判斷該欄位值來決定 Row 的顏色
4.繞回圈抓資料時, 也是判斷該 Column 的值來判斷是否是 selected 的 Row

範例參考 : http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=110205


跨平台可用短小精幹又穩定的開發工具 Lazarus (Delphi 兄弟), 有 MAC 版

編輯記錄
lazarus 重新編輯於 2018-08-22 10:07:31, 註解 無‧
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2018-08-22 15:05:48 IP:119.137.xxx.xxx 未訂閱
ListBox 是可行的。至于改名字,LixtBox 的 Item 上面,放一个 Edit,Visible 设置为 False 就好了。需要改名字的时候,Edit1.Visible := True 就可以啦。

ListView 的话,最新版的 FMX 的 LixtView 可以在 Design time 设置 Item 的好多乱七八糟的东西,放图片,放各种东西上去,你也可以试试。据说 ListView 效率比 ListBox 高。
blue
中階會員


發表:170
回覆:136
積分:81
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2018-08-23 08:58:26 IP:125.227.xxx.xxx 未訂閱
感謝 pcplayer99 及 lazarus!
系統時間:2024-11-21 21:25:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!