Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fonts in Combobox laden (https://www.delphipraxis.net/78701-fonts-combobox-laden.html)

logo123 9. Okt 2006 17:03


Fonts in Combobox laden
 
Hallo, kann mir jemand sagen, wie man alle Fonts, die im System gespeichert sind in einer combobox kaden kann?

OldGrumpy 9. Okt 2006 17:06

Re: Fonts in Combobox laden
 
Möchtest Du nur die Fontnamen, um eine Fontauswahl zu realisieren oder soll jeder Font in seiner eigenen Schriftart angezeigt werden usw.?

Balu der Bär 9. Okt 2006 17:08

Re: Fonts in Combobox laden
 
Eine einfache Fontauswahl wäre so möglich (BubbleSort dient nur zur Sortierung von A nach Z):
Delphi-Quellcode:
function EnumFontClBack(var lp: TEnumLogFont; var tm: TNewTextMetric; dwType: DWORD;
  lpData: lParam): Integer; stdcall;
begin
  Result := 1;
  with TForm2(lpData), Combobox1 do
  begin
    Items.Add(lp.elfLogFont.lfFaceName);
  end;
end;

procedure BubbleSort(Items: TStrings);
var
  done: boolean;
  i, n: integer;
  Dummy: string;
begin
  n := Items.Count;
  repeat
    done := true;
    for i := 0 to n - 2 do
      if Items[i] > Items[i + 1] then
      begin
        Dummy := Items[i];
        Items[i] := Items[i + 1];
        Items[i + 1] := Dummy;

        done := false;
      end;
  until done;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
EnumFontFamilies(Canvas.Handle, nil, @EnumFontClBack, Integer(Self));
BubbleSort(ComboBox1.Items);
end;

logo123 9. Okt 2006 17:23

Re: Fonts in Combobox laden
 
Es sollen nur die Namen der Fonts angezeigt werden.

Balu der Bär 9. Okt 2006 17:24

Re: Fonts in Combobox laden
 
Zitat:

Zitat von logo123
Es sollen nur die Namen der Fonts angezeigt werden.

Genau dies macht der obige Code.

logo123 9. Okt 2006 17:26

Re: Fonts in Combobox laden
 
Danke es hat geklappt

Martin K 9. Okt 2006 18:27

Re: Fonts in Combobox laden
 
:shock: Warum nicht so?
(Das ist dann übrigens schon sortiert!)
Delphi-Quellcode:
ComboBox1.Items := Screen.Fonts;

Balu der Bär 9. Okt 2006 18:33

Re: Fonts in Combobox laden
 
Warum einfach wenn's auch kompliziert geht? :P


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz