我們正在創建一個組件,並且想要模仿Designer.GetComponentNames背後的概念,我們提供的概念可以獲取表單上可用組件的列表或用途中的任何形式。我們無法找到GetComponentNames的根。任何輸入將不勝感激。 LE:其實我回來了。我從設計時間方面需要這個。通過形式搜索和使用
0
A
回答
1
運行時間?您擁有所有顯示錶單的Vcl.Forms.TScreen.Forms數組,並且您擁有包含所有表單IIRC的Vcl.Forms.Application.Components。然後,每個表單都有一個Components數組。
0
如果我理解了您的問題的第一部分,您想在設計時獲取表單(按名稱)擁有的組件列表。
作爲背景,我有一個非可視組件(稱爲TColorEdits),它在運行時管理窗體上選定的TWinControls的顏色。該組件具有一個TStrings屬性,其中包含窗體上所選TWinControls的名稱。可以在設計時使用包含幾個列表框的對話框(dlgEditColors)來選擇要管理的TWinControls的名稱,其中一個列表框被命名爲DstList並顯示可由TColorEdits管理的所有TWinControls。
因此,下面是一些(簡化)代碼,用於在設計時在窗體上獲取TWinControls的名稱,並將TWinControl名稱加載到DstList中。
{ Load names of TWinControls owned by a form into TListBox DstList }
for i := 0 to TColorEdits(GetComponent(0)).Owner.ComponentCount - 1 do
if ((TColorEdits(GetComponent(0)).Owner.Components[i] is TWinControl) then
dlgEditColors.DstList.Items.Add(TColorEdits(GetComponent(0)).Owner.Components[i].Name);
您應該可以將上述代碼調整爲組件的自定義屬性編輯器的一部分。希望這對你的問題的第一部分有所幫助。
相關問題
- 1. 搜索和使用模式
- 2. 搜索形式Knockout.js
- 3. 通過文本搜索和檢索ID
- 4. 搜索我的網站與通過形式沒有JavaScript的
- 5. 使用sed通過正則表達式搜索和替換模式
- 6. 通過Android應用搜索
- 7. 搜索通過使用HASHIE寶石
- 8. 搜索通過使用外殼
- 9. 通過GET使用JSON搜索ElasticSearch
- 10. 通過搜索API使用BingSearchContainer C#類
- 11. onChange通過使用選擇ReactJS搜索
- 12. 使用.contains()通過HashSet進行搜索
- 13. 搜索通過使用class屬性
- 14. 使用PDFLib通過PHP搜索PDF
- 15. 搜索通過字符串使用Javascript
- 16. 分頁和搜索的形式發佈
- 17. 搜索由START_TIME形式和END_TIME
- 18. 如何使用ElasticsearchRepository通過Java搜索彈性搜索?
- 19. 搜索通過RecyclerView使用搜索查看
- 20. 通過DataGridView搜索
- 21. 搜索通過Python
- 22. 通過ArrayList搜索
- 23. 通過FullCalendar搜索
- 24. 通過BST搜索
- 25. 搜索通過LINQ
- 26. 通過COUNT搜索(*)
- 27. 通過xml搜索
- 28. 通過後綴樹搜索模式
- 29. 使用下拉式過濾器搜索?
- 30. 通過形式
投票結果爲不是真正的Q.您在設計時要求提供與GetComponentNames等效的值。這是一個非sequiter。 –