//声明: GetCharWidth( DC: HDC; {设备环境句柄} FirstChar, LastChar: UINT; {范围内的第一个和最后一个字符值} const Widths {接受每个字符宽度值的整型数组} ): BOOL; GetCharWidth32( DC: HDC; {设备环境句柄} FirstChar, LastChar: UINT; {范围内的第一个和最后一个字符值} const Widths {接受每个字符宽度值的整型数组} ): BOOL; {GetCharWidth32 专用于 Win32 系统, 在这里和 GetCharWidth 没有区别}
//获取当前字体所有大写字母的宽度(用 Memo 显示) procedure TForm1.FormCreate(Sender: TObject); var arr: array[0..25] of Integer; i: Integer; begin GetCharWidth(Canvas.Handle, Ord('A'), Ord('Z'), arr); //GetCharWidth32(Canvas.Handle, Ord('A'), Ord('Z'), arr); {也可} Memo1.Clear; for i := 0 to 25 do begin Memo1.Lines.Add(Char(Ord('A')+i) + #9 + IntToStr(arr[i])); end; end;
//效果图: