Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
usesTypInfo; function
MakeFontFromHFont(aHandle: HFONT): TFONT; var
LogFont: TLogFont; begin
Result := TFont.Create; FillChar(LogFont, SizeOf(LogFont), 0); GetObject(aHandle, SizeOf(logfont), @LogFont); with
LogFont, Result do
begin
Name := StrPas(lffaceName); Height := -lfHeight; if
lfWeight FW_MEDIUM then
Style := Style + [fsBold]; if
lfItalic 0 then
Style := Style + [fsItalic]; if
lfUnderline 0 then
Style := Style + [fsUnderline]; if
lfStrikeout 0 then
Style := Style + [fsStrikeout]; case
(lfPitchAndFamily and
3) of
VARIABLE_PITCH: Pitch := fpVariable; FIXED_PITCH: Pitch := fpFixed; end
; end
; end
; procedure
TForm1.Button1Click(Sender: TObject); var
f: TFont; s: string
; st: TFontStyle; begin
f := MakeFontfromHFont(getStockObject(ANSI_FIXED_FONT)); try
memo1.Clear; with
memo1.Lines do
begin
Add(Format('Name: %s', [f.Name])); Add(Format('Size: %d', [f.Size])); Add(Format('Height: %d', [f.Height])); Add(Format('Pitch: %s', [GetEnumName(TypeInfo(TFontPitch), Ord(f.Pitch))])); S := 'Style: [ '; for
st := Low(St) to
High(st) do
if
st in
f.Style then
begin
AppendStr(S, GetEnumName(TypeInfo(TFontStyle), Ord(st))); AppendStr(S, ' '); end
; AppendStr(S, ']'); Add(S); end
; finally
f.Handle := 0; f.Free; end
; end
;