Цитата:
Сообщение от NumLock
добавь отступ +4:
|
Почему 4, почему не 8 или не 40? А если у меня крупные шрифты? А если у меня схема для слабовидящих? Программист в первую очередь должен заботиться о
совместимости.
Предлагаю такой вариант:
Код:
begin
ln := ListBox1.Canvas.TextWidth(s);
if ln > ListBox1.ClientWidth then
ListBox1.Width := ln + ListBox1.Width - ListBox1.ClientWidth;
end;
Надеюсь, не надо объяснять, что разница между Width и ClientWidth как раз и должна заключать в себя отступы. Другой способ -- получать отступы функциями API вроде GetSystemMetrics, но тут он мне кажется излишне сложным.