Вверх ↑
Ответов: 2236
Рейтинг: 676
#1: 2023-11-20 17:23:52 ЛС | профиль | цитата
nesco, Привет! Тема про ошибку отрисовки поднята лишь потому, что envoy_sky притянул в тему старые файлы. А в файле на svn заплатка:
hiMTStrTbl.pas писал(а):
if CBvalue = 0 then exit;//Fix: Error draw checkbox after dbclik on empty area if Redaction = True (sla8a 2021.10.12)
решала эту проблему. Не смог найти тему, но это было поправлено в 2021 году судя по записи. Но этот fix испортил отработку событий _OnBeforeLineChange и _OnLineChange, почему собственно и поднял ТС эту тему (MTStrTbl события).
nesco писал(а):
подробнее объясни, что делает твоя первая правка из это темы? У меня что с ней, что без нее одинаково работает

Протестировать можно на схеме Gunta во втором посте этой темы.
-При выключенных чекбоксах, событие: CheckBox = false
-Начать редактировать любую строку
-Выйти из редактирования строки
-Событие _OnBeforeLineChange и _OnLineChange не будет
-if CBvalue = 0 then exit; не даст отработать событиям

Чтоб исправить события и не навредить отрисовки чекбоксов предлагаю вот такую правку в событиях _OnBeforeLineChange и _OnLineChange: hiMTStrTbl.pas.


Повторюсь у кого обновленный компонент из svn (rev.2404) чекбоксы отрисовываются нормально, но будет ошибка с событиями _OnBeforeLineChange и _OnLineChange. Если установить старый файл, то не будет ошибки с событиями _OnBeforeLineChange и _OnLineChange, но будет ошибка с отрисовкой чекбоксов.

nesco писал(а):
А с правой кнопкой на другой линии -- да, надо исправлять.
Подойдет моя правка выложенная выше или есть идея получше?
карма: 11

1
Голосовали:envoy_sky
Редактировалось 14 раз(а), последний 2023-11-20 17:40:51