- 1 控件的不衕部分
- 2 添加控件節(jié)點(diǎn)
- 3 當(dāng)父節(jié)點(diǎn)處?kù)墩归_狀態(tài)時(shí)添加節(jié)點(diǎn)
- 4 刪除控件節(jié)點(diǎn)
- 5 展開與收縮節(jié)點(diǎn)
- 6 爲(wèi)節(jié)點(diǎn)選擇圖片
- 7 實(shí)現(xiàn)拖放
- 8 給控件增加一列
- 9 定義列數(shù)據(jù)類型
- 10 顯示工具條
- 11 添加節(jié)點(diǎn)副文本
- 12 在一箇節(jié)點(diǎn)內(nèi)編輯文本
- 13 樹型控件排序
- 14 給節(jié)點(diǎn)添加檢查框與選項(xiàng)按鈕
- 15 虛模式
- 16 錯(cuò)誤信息
- 17 事件
- 18 方法
- 19 屬性
虛模式
- 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ì)需要。