Как компонент DBGrid определяет начальную ширину столбцов для отображения? - PullRequest
1 голос
/ 27 марта 2011

У меня проблемы с сохранением / перезагрузкой ширины столбцов в DBGrid (на самом деле это DBGrid TMS).TMS включает встроенные методы для сохранения / перезагрузки ширины столбцов, которые работают правильно (я могу прочитать значения в INI-файле).Что-то, где-то в моем коде переопределяет сохраненные значения, однако.Я не знаю достаточно о том, как определяются ширины столбцов, чтобы иметь возможность отладить проблему.

Сетка в конечном итоге связана с файлом ClientDataSet.

1 Ответ

5 голосов
/ 27 марта 2011

TColumn имеет метод с именем DefaultWidth, который вызывается, в частности, когда ширина не была явно назначена столбцу (что верно для динамически создаваемых столбцов сетки).

По сути, он берет ширину отображения связанного поля столбца (в символах) и умножает ее на ширину символа 0 (в пикселях), используя соответствующий шрифт.

Затем он сравнивает результат с шириной заголовка (в пикселях) и возвращает большее значение.

...