虛模式

2017-09-15 14:59:44
黃善超
762
最后編輯:tmtony8 于 2017-09-15 15:24:52

默認情況下,所有插入控件的節點必須包含若干文本,存儲在全局內存。然而如果你有大量的項目, 需要太多內存。 為了照顧到這一點, ctTree控件能夠運行在虛模式。

 

注意: 控件中的索引指針是長整形。因此,控件不限于32,676項。 僅受限于當前系統可用內存的數。 因此,虛擬存儲也許不是必要的。

當控件運行在虛模式,所有文本在控件之外存儲。當控件被繪制時, 它將詢問主程序每個節點的合適的文本。 控件仍然需要初始化節點數據。不同的是任何使用AddNode方法的任何文本將被忽略。

 

為了在虛模式中使用控件, 要執行下列步驟:

 

?設置LoadType屬性為1 (虛模式)。任何時刻LoadType屬性改變,所有的控件中現有數據被刪除。你不能混用裝載類型。

?添加新節點至控件。因為所有的文本被忽略,你提供控件什么本文都沒關系。然而, 所有的其他屬性數據必須提供。

?GetNode(獲得節點)事件中,有些腳本類型可以提供給控件合適的文本。文本可以以你想要的任何方式存儲,但是最容易的方法的存儲在數列中。以下是在GetNode(獲得節點)事件中腳本的一部分。必須注意控件中節點的索引起始值是0不是1。例:

 

ctTree.VirtualText = nCharArray[ nIndex + 1 ]


如果你需要顯示工具條,你需要使用SetTips事件和TipsText屬性。

如果你需要使用節點編輯功能,你需要用到SetLabelEdit事件與EditText屬性。

 

注意: 僅在每個節點的每個單元的文本被繪制之前, GetNode節點將被觸發, 即使LoadType 屬性沒有設置為1(虛模式),也會發生。此時,程序員可以使用VirtualAlign, VirtualForeColor,和VirtualText屬性改變文本如何在這時顯示。當控件處在虛模式時,為了給控件提供文本,該過程絕對需要

北京十一选五基本走势