我正在編寫一個從TListView下載的組件,並且我想知道何時使用此組件的開發人員添加了一列,以便我可以做出反應。如何檢測何時添加新列?有事件嗎?如何檢測添加到列表視圖控件的新列?
回答
沒有這樣的事件,但由於您是組件編寫者,所以無論如何事件都是禁止的。事件是爲開發者使用您的組件。
通過發送控件lvm_InsertColumn
消息添加列。重寫消息處理程序在你的後裔控制:
procedure LVMInsertColumn(var Msg: TMessage); message lvm_InsertColumn;
實現它調用繼承的處理程序,然後做你想做什麼。
procedure TListViewDescendant.LVMInsertColumn(var Msg: TMessage);
begin
inherited;
// TODO: custom handling
end;
將被稱爲columncount + 1次。可以通過如果MSG.WParam + 1 = Columns.Count然後// TODO:自定義處理減少到兩個調用 – bummi
此方法的問題是發送'LVM_INSERTCOLUMN'消息,然後在更新列順序之後,列數據被設置等等。當'UpdateColumns'完成執行時,你真的想看看,但'TListView'的設計不適合@user正在嘗試做什麼。 –
@RobKennedy謝謝。多數民衆贊成我正在尋找 – user2025830
Delphi TListView
控件不提供這樣的事件,並且底層的Windows控件不提供通知。原因在於你的程序員負責添加列。只能通過在Delphi中調用Columns.Add
或向底層窗口發送LVM_INSERTCOLUMN
消息來添加列。
所以,你負責添加列,這大概是你通過調用Columns.Add
來完成的。通過調用Columns.Add
的方法路由添加列的所有代碼,並在該點添加任何特殊處理。
- 1. 添加列表查看項目到列表視圖控件
- 2. 在列表視圖中添加控件
- 3. 如何將圖像列表添加到WPF列表視圖?
- 4. 如何清除列表視圖並添加新的列表視圖
- 5. 添加列表視圖列來到0
- 6. 將新添加的項添加到我的列表視圖中?
- 7. 在列表視圖控件的第二列中添加項目
- 8. 如何檢查頁腳是否已添加到列表視圖?
- 9. 添加新的列在exsiting表視圖
- 10. 檢測添加控件到表格
- 11. 我如何編碼不同的事件添加到列表視圖和重新排序列表視圖
- 12. 如何添加輕掃到刷新列表視圖
- 13. 如何將新行添加到列表視圖中?
- 14. 如何將該列添加到openerp中的列表視圖?
- 15. 如何添加到特定的列表視圖列
- 16. 如何將文件的內容添加到列表視圖C#
- 17. 在asp.net中添加控件列表視圖到網站
- 18. 動態添加控件到列表視圖
- 19. 將項目添加到列表視圖控件
- 20. 如何將列添加到Windows Phone 7中的列表控件?
- 21. 將圖像添加到列表視圖
- 22. 添加到縮略圖列表視圖
- 23. 如何在android中添加頁腳視圖到列表視圖?
- 24. 如何添加列表視圖數據
- 25. 如何在視圖表中添加列?
- 26. 在SQL中添加新列到視圖
- 27. 到視圖添加新列SQL
- 28. Android - 如何添加多個陣列到列表視圖
- 29. 如何將列添加到視圖?
- 30. 如何使用C#將主文件添加到列表視圖?
對不起......現在它由RobKennedy編輯。謝謝。 – user2025830