Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как отменить скроллинг каретки в CRichEditCtrl, используетса для форматированого лога 
:(
    Опции темы
Smalti
Дата 15.8.2007, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.9.2006

Репутация: нет
Всего: нет



Помогите решить проблему!

Есть контрол CRichEditCtrl.
Используется для ведения форматированого лога.
Есть возможность включать/выключать автоскроллинг содержимого контрола по мере добавления(в конец) в него строк:

Код

if(m_autoScrollCheck.GetCheck())
{
    ::PostMessage((HWND)m_flyLog, (UINT)WM_VSCROLL, (WPARAM)SB_BOTTOM, (LPARAM)0);
}


Дальше возникает вопрос. Во время интенсивного(быстрого) заполнения выделяем часть текста - не получается, т.к. каретка уехала сразу же вниз.

Делаем так:

Код

CHARRANGE crOld;
m_flyLog.GetSel(crOld);
m_flyLog.HideSelection(TRUE, FALSE);

m_flyLog.SetSel(m_flyLog.GetTextLength(), m_flyLog.GetTextLength());
m_flyLog.SetSelectionCharFormat(cf);
m_flyLog.ReplaceSel(pStr->c_str());
m_flyLog.SetSel(m_flyLog.GetTextLength(), m_flyLog.GetTextLength());
m_flyLog.ReplaceSel("\r\n");

m_flyLog.SetSel(crOld);
m_flyLog.HideSelection(FALSE, FALSE);


Теперь при выделении текста он дёргаетса(текст) из-за метода SetSel, который дёргает каретку вниз.

Вопрос:
Как добавлять строки вниз так, чтобы не переводить при этом каретку?
Или как можно по-другому решить эту проблему? smile 


Решение точно есть, т.к. в output window MVS можно выделять текст и он не дёргается при максимально быстром добавлении
в него(через TRACE) строк.
PM MAIL   Вверх
Smalti
Дата 16.8.2007, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.9.2006

Репутация: нет
Всего: нет



Я так понимаю что нужно разбивать на субкласс(замещать оконную процедуру класса окна другой) через SetWindowLong
PM MAIL   Вверх
Smalti
Дата 20.8.2007, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.9.2006

Репутация: нет
Всего: нет



Спасибо всем за участие!

Вот кому интересно:
http://www.codeproject.com/editctrl/editlo...89193&fr=26

Надеюсь в скором времени я смогу это адаптировать к CRichEditCtrl
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0391 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.