Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Получить свойство шрифта по его дескриптору

Delphi , Графика и Игры , Шрифты

Получить свойство шрифта по его дескриптору

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

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.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Шрифты ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
29.03.2024 09:32:48/0.033017158508301/0