![](/img/trans.png)
[英]How can I use a different text color for disabled menu items that are owner-drawn?
[英]TopenDialog/TSaveDialog with owner-drawn items
我想實現傳統的打開和保存對話框(要處理的基礎項目是文件),但是我想控制顯示的內容來代替文件名,並包含一些圖形-即,我需要一個“ ownerdraw”對話框樣式。 除了那方面,我希望對話框的外觀和感覺盡可能類似於傳統的打開/保存對話框。
我想自己要自己實現這一點,我只是想知道最好的起點是哪里。
AFAIK標准的Windows對話框沒有提供您需要的自定義級別,但是您可以從此處嘗試TShellListView
(TCustomShellListView)組件,該組件是ShellCtrls單元的一部分(默認情況下,該軟件包未安裝在Delphi IDE中)您可以獲得代碼,用文件夾內容填充自己的TListview並根據需要繪制項目,還可以查看Shell Interfaces
與Shell Interfaces
元素進行交互。
為了將所有者繪圖控件用作列表視圖,我建議使用Roy Klever的rkSmartView。
http://rmklever.com/?page_id=299
Roy在上面的博客上發布的演示應用程序包含相當不錯的圖形縮略圖瀏覽器示例,可以將其變成您正在做的事情的核心。 他添加了評級“星星”以及其他所有所有者繪制的裝飾。
所有者使用諸如TListView之類的標准通用控件充滿局限性。 如果您希望所有者繪制全部或部分控件,則完全確保內部繪制100%內部繪制並提供100%源代碼的完全虛擬控件是確保您不會碰壁或獲得98%解決方案的唯一方法你不能帶回家。
我最近通過修改上述組件做了類似的事情,結果很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.