虛模式

2017-09-15 14:59:44
黃善超
3554
最後編輯:tmtony8 於 2017-09-15 15:24:52

默認(rèn)情況下,所有插入控件的節(jié)點(diǎn)必鬚包含若榦文本,存儲(chǔ)在全局內(nèi)存。然而如果你有大量的項(xiàng)目, 需要太多內(nèi)存。 爲(wèi)瞭照顧到這一點(diǎn), ctTree控件能夠運(yùn)行在虛模式。

 

註意: 控件中的索引指針是長(zhǎng)整形。因此,控件不限於32,676項(xiàng)。 僅受限於當(dāng)前繫統(tǒng)可用內(nèi)存的數(shù)。 因此,虛擬存儲(chǔ)也許不是必要的。

當(dāng)控件運(yùn)行在虛模式,所有文本在控件之外存儲(chǔ)。當(dāng)控件被繪製時(shí), 牠將詢問主程序每箇節(jié)點(diǎn)的閤適的文本。 控件仍然需要初始化節(jié)點(diǎn)數(shù)據(jù)。不衕的是任何使用AddNode方法的任何文本將被忽略。

 

爲(wèi)瞭在虛模式中使用控件, 要執(zhí)行下列步驟:

 

?設(shè)置LoadType屬性爲(wèi)1 (虛模式)。任何時(shí)刻LoadType屬性改變,所有的控件中現(xiàn)有數(shù)據(jù)被刪除。你不能混用裝載類型。

?添加新節(jié)點(diǎn)至控件。因爲(wèi)所有的文本被忽略,你提供控件什麼本文都沒關(guān)繫。然而, 所有的其他屬性數(shù)據(jù)必鬚提供。

?GetNode(穫得節(jié)點(diǎn))事件中,有些腳本類型可以提供給控件閤適的文本。文本可以以你想要的任何方式存儲(chǔ),但是最容易的方法的存儲(chǔ)在數(shù)列中。以下是在GetNode(穫得節(jié)點(diǎn))事件中腳本的一部分。必鬚註意控件中節(jié)點(diǎn)的索引起始值是0不是1。例:

 

ctTree.VirtualText = nCharArray[ nIndex + 1 ]


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

如果你需要使用節(jié)點(diǎn)編輯功能,你需要用到SetLabelEdit事件與EditText屬性。

 

註意: 僅在每箇節(jié)點(diǎn)的每箇單元的文本被繪製之前, GetNode節(jié)點(diǎn)將被觸髮, 卽使LoadType 屬性沒有設(shè)置爲(wèi)1(虛模式),也會(huì)髮生。此時(shí),程序員可以使用VirtualAlign, VirtualForeColor,和VirtualText屬性改變文本如何在這時(shí)顯示。當(dāng)控件處在虛模式時(shí),爲(wèi)瞭給控件提供文本,該過程絶對(duì)需要

移動(dòng)訪問