Вверх ↑
Ответов: 2433
Рейтинг: 693
#1: 2025-04-13 15:20:46 ЛС | профиль | цитата
nesco писал(а):
И зачем тебе все это надо, когда в твоем обработчике уже используется fClass?
Отказался от функции, сделал по другому.

-Добавил возможность чередования цвета строк. Вещь не прихотливая и работает только если не задействована поддержка цвета ячеек ColorItems=False. Свойством можно задействовать и выбрать с четной или нечетной начать окрашивать. И выбор цвета.
-Добавил цвет текста выделенной строки без фокуса. Так же работает только в режиме SelectColorMode=Custom. Может эти режимы по другому обозвать? К примеру Standart,All,OnlyBackground. All использует все цвета, OnlyBackground использует только цвет фона, цвет текста задается строкой ColorItems=true или по умолчанию.

На сегодня все, голова уже не соображает. Надо завтра на свежую голову посмотреть в код. Вот это точно надо менять:
if not _prop_FocusFrame and (((PNMLVCustomDraw(Msg.LParam)^.nmcd.uItemState shr 4) and 1) = 1) then//delete focus frame
PNMLVCustomDraw(Msg.LParam)^.nmcd.uItemState := CDIS_DEFAULT or CDIS_SELECTED;
Нужно будет "вырезать" флаг фокуса, а не полностью заменять. А то там насколько помню еще флаг CDIS_SHOWKEYBOARDCUES установлен, мало ли когда он выплывет боком его удаление. Да флаг CDIS_SELECTED тоже наверно желательно "вырезать". Надо это дело посмотреть.
карма: 11

0
Редактировалось 2 раз(а), последний 2025-04-13 23:49:17