Re: Просмотр больших файлов в RichEdit (аналог Lister в Tota
От: Stanislav V. Zudin Россия  
Дата: 24.03.12 05:38
Оценка: 5 (1) +1
Здравствуйте, Cloudo, Вы писали:

C>Но пока более простая задача — сделать аналог Lister'а.


C>В качестве графического объекта был выбран RichEdit, т.к. нужно будет подсвечивать различия между файлами другим цветом.

C>Для подкачки кусков файла использую маппинг — функции CreateFileMapping / MapViewOfFile.

C>Проблема заключается в том, что я плохо представляю как реализовать незаметную подкачку другого куска (64 кб) и возможность по скроллу перейти в любое место файла.


Насколько я понимаю, редактирование не предполагается, выделение строк/символов — тоже.
Тогда зачем нам кузнецRichEdit? Управление его скролбаром может обернуться кучей багов — все таки скроллбар учитывает текущий объем текста, загруженный в редактор.
ИМХО достаточно вызвать DrawText, чтобы нарисовать текст.

Насчет незаметной подкачки. Загрузить кусок выше и кусок ниже отображаемого. Если происходит скролирование, то при достижении граничного значения (скажем, когда до края блока остается меньше количество_строк_умещающихся_на экране/2) загружать очередную порцию данных.

А вообще, в целом по задаче...
Для просмотра файлов размером > 4 Гб управление через скроллбар не очень хорошая затея — получается слишком грубо, малейшее прикосновение и текущая позиция будет улетать пес знает куда. Нужно хорошенько обдумать способ навигации.
_____________________
С уважением,
Stanislav V. Zudin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.