2009-11-06 49 views

回答

6

LocalAlloc分配內存,然後把它交給編輯控件與em_SetHandle消息。如果編輯控件需要更多空間,您可以處理en_ErrSpace通知。 MSDN描述"About Edit Controls" article中的過程。儘管如此,它不適用於豐富的編輯控件;他們不會像編輯控件那樣將數據存儲在連續的緩衝區中。

4

而不是加載整個文件,使用控件作爲數據的「窗口」不是更好嗎?只需將數據加載到區塊中,隨着用戶向上或向下滾動,加載更多(並刪除一些)。

3

我建議切換到另一個編輯控件,如SynEdit(它可以在幾個毫秒內加載80mb的文本文件)。

+1

這是誇張的,因爲這將接近當前PC的正常內存傳輸速率。無法以比I/O帶寬允許的速度更快地加載文件。然而,SynEdit會將文件加載到'TStrings'對象中,該對象非常快(只要文件足夠小以適應系統的空閒物理內存和應用程序的地址空間)。對於較大的文件,需要使用類似內存映射文件的內容,這當然可以更快,因爲它最初不會導致太多的I/O。但是SynEdit確實比「TMemo」更適合。 – mghie 2009-11-07 07:48:00

相關問題