Вверх ↑
Ответов: 1999
Рейтинг: 634
#1: 2015-07-07 15:41:02 ЛС | профиль | цитата
nesco, давайте попутно обсудим следующее. Если в столбцах не используются иконки (ImageColumn = False), то индекс иконки в строке не устанавливается. Если так то уместна строка в функции InitColStr;:
#pas
if (not FImgColumn) or (not Assigned(SmIlist)) then sh := ';//test если нет иконок, то нет и индекса в строке
Так как в коде hiMTStrTbl не одно место где в строку столбца вносят нулевой индекс иконки. Не то чтобы это на что-то могло повлиять, но не логично когда меняешь к примеру название столбца, а при этом изменяется и индекс иконки.
Перед тем как вносить изменения протестируйте вот эту схему:
code_35977.txt
и увидете как изменяется индекс иконки. Данное исправление внесено мной (файлы в архивы), но оно не связано с блокировкой изменения ширины столбцов.

Теперь к блокировки ширины отдельных столбцов. Все изменения и дополнения в pas файлах отмечены //test
Некоторые пояснения:
1. Значение блокировки столбца внес в строку столбца: FormatStrCol - NameCol(ColDelimiter)WidthCol(ColDelimiter)IndexIcon(ColDelimiter)AlignTxtCol(ColDelimiter)BlockSizing.
2. Функция function ThiMTStrTbl.BlockCol; выдает True если изменять ширину запрещено и False если можно.
3. На данный момент если меняется блокировка изменения ширины всех столбцов ChangeWidth, значения для каждого столбца остаются неизменны.
Архив с примером и измененными файлами (+ иконка): Скачать

карма: 9

0
файлы: 2testmst.rar [10.8KB] [328], code_35977.txt [1.5KB] [534]