Получить свойство шрифта по его дескрипторуDelphi , Графика и Игры , ШрифтыПолучить свойство шрифта по его дескриптору
Оформил: DeeCo uses TypInfo; 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; Статья Получить свойство шрифта по его дескриптору раздела Графика и Игры Шрифты может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |