Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 096

•  TDictionary Custom Sort  6 180

•  Fast Watermark Sources  5 982

•  3D Designer  8 863

•  Sik Screen Capture  6 318

•  Patch Maker  6 732

•  Айболит (remote control)  6 728

•  ListBox Drag & Drop  5 587

•  Доска для игры Реверси  95 990

•  Графические эффекты  6 942

•  Рисование по маске  6 199

•  Перетаскивание изображений  5 113

•  Canvas Drawing  5 485

•  Рисование Луны  5 191

•  Поворот изображения  4 738

•  Рисование стержней  3 347

•  Paint on Shape  2 584

•  Генератор кроссвордов  3 484

•  Головоломка Paletto  2 786

•  Теорема Монжа об окружностях  3 583

•  Пазл Numbrix  2 352

•  Заборы и коммивояжеры  3 033

•  Игра HIP  1 990

•  Игра Go (Го)  1 913

•  Симулятор лифта  2 269

•  Программа укладки плитки  1 976

•  Генератор лабиринта  2 430

•  Проверка числового ввода  2 108

•  HEX View  2 439

•  Физический маятник  2 065

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

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



Оформил: 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;




Похожие по теме исходники

A Star (нахождение кратчайшего пути)

Нахождение кратчайшего пути

Облако тегов

Дейкстра: поиск кратчайшего пути

 



Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте