先给你一个函数://取得字符的高度 function CharHeight: Word; var Metrics: TTextMetric; begin GetTextMetrics(Canvas.Handle, Metrics); // Called Windows API Result := Metrics.tmHeight; end;不过我觉得没有必要用,因为我们常用的中文字体中的英文字符都是宽度相同的。你可以参照金山打字通那样的方案,使用宋体或 FixedSys 之类的,可以做到字符宽度一样。不过,你该不会让用户选择字体吧? :)
function CharHeight: Word;
var
Metrics: TTextMetric;
begin
GetTextMetrics(Canvas.Handle, Metrics); // Called Windows API
Result := Metrics.tmHeight;
end;不过我觉得没有必要用,因为我们常用的中文字体中的英文字符都是宽度相同的。你可以参照金山打字通那样的方案,使用宋体或 FixedSys 之类的,可以做到字符宽度一样。不过,你该不会让用户选择字体吧? :)