Добавление текста в richedit
От: demi США  
Дата: 23.02.06 10:20
Оценка:
Предположим, у меня есть программа, в которой есть окошеко куда сваливется лог выполнения. Ясно, что он только растет и по ходу программы только увеличивиется и может стать довольно большим. Для отображенияшога использую элемент richedit 2.0. Так вот проблема в том, как эффективно добавить туда новую информацию. Подход в лоб — WM_SETTEXT. Мне не нравится это решение — это означает 1) копирование 2) переаллокацию буфферов для текста в ядре win32 3) хранение двух копий текста в памяти. Есть идейка через clipboard. Дело в том что win32 не мой конек, и хотелось не изобретая велосипед узнать, какие методы решения есть мой задачи.
Не стыдно попасть в дерьмо, стыдно в нём остаться!
Re: Добавление текста в richedit
От: ekamaloff Великобритания  
Дата: 23.02.06 10:22
Оценка:
Здравствуйте, demi, Вы писали:

D>Для отображенияшога использую элемент richedit 2.0. Так вот проблема в том, как эффективно добавить туда новую информацию.


EM_SETSEL
EM_REPLACESEL

если правильно понял.
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re[2]: Добавление текста в richedit
От: Аноним  
Дата: 23.02.06 10:58
Оценка:
Здравствуйте, ekamaloff, Вы писали:

E>Здравствуйте, demi, Вы писали:


D>>Для отображенияшога использую элемент richedit 2.0. Так вот проблема в том, как эффективно добавить туда новую информацию.


E>EM_SETSEL

E>EM_REPLACESEL

E>если правильно понял.


А вообще с хендлами заморачиваться стоит? EM_SETHANDLE? Я буду туда писать текст и периодически слать WM_PAINT. Сам понимаю, что если возможно в это памяти содержится служебная информация а не только мой текст, то мы в лучшем случае быстренько накроемся... А вообще EM_SETSEL решает проблему, хотя что-то в нем от беса
Re[3]: Добавление текста в richedit
От: ekamaloff Великобритания  
Дата: 23.02.06 11:29
Оценка:
Здравствуйте, Аноним, Вы писали:

А>А вообще с хендлами заморачиваться стоит? EM_SETHANDLE? Я буду туда писать текст и периодически слать WM_PAINT. Сам понимаю, что если возможно в это памяти содержится служебная информация а не только мой текст, то мы в лучшем случае быстренько накроемся... А вообще EM_SETSEL решает проблему, хотя что-то в нем от беса


1) Вряд ли EM_SETHANDLE чем-то мог бы помочь в твоем случае. Не стоит заморачиваться насчет того, где он там хранит свои данные. Ты записал в лог и записал в edit, никакого двойного хранения данных я не вижу

2) EM_SETHANDLE не поддерживается RichEdit-ом
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.