Возникла необходимость в программе изменять шрифт на форме и, соответственно этому изменять размер и положение компонентов на форме. Для изменения размеров компонентов написал такую процедуру:
- Код: Выделить всё
uses StrUtils ;
procedure SetSize(C : TControl ; MaxLStr : word) ;
var
St : ansistring ;
begin
St := dupestring('W',MaxLStr) ;
C.ClientWidth := C.Font.GetTextWidth(St) ;
C.ClientHeight := C.Font.GetTextHeight(St) ;
end ;
которая на входе принимает компонент и максимальный размер строки ввода. Однако она не работает, функции GetTextWidth и GetTextHeight выдают неверные значения (очень маленькие).
Что скажете?