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