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

•  TDictionary Custom Sort  3 225

•  Fast Watermark Sources  2 990

•  3D Designer  4 750

•  Sik Screen Capture  3 259

•  Patch Maker  3 467

•  Айболит (remote control)  3 527

•  ListBox Drag & Drop  2 903

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

•  Графические эффекты  3 843

•  Рисование по маске  3 171

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

•  Canvas Drawing  2 672

•  Рисование Луны  2 500

•  Поворот изображения  2 091

•  Рисование стержней  2 119

•  Paint on Shape  1 524

•  Генератор кроссвордов  2 182

•  Головоломка Paletto  1 730

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

•  Пазл Numbrix  1 649

•  Заборы и коммивояжеры  2 016

•  Игра HIP  1 262

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

•  Симулятор лифта  1 421

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

•  Генератор лабиринта  1 512

•  Проверка числового ввода  1 297

•  HEX View  1 466

•  Физический маятник  1 322

•  Задача коммивояжера  1 357

 
скрыть


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-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

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