Announcement

Collapse
No announcement yet.

Font Problem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Font Problem

    Hallo,<br>
    Ich möchte das alle Fonts die er im ausgewälten Verzeichnis finden
    in einer ListBox auflistet und das jeder eintrag so dagestellt wird wie der Font ausieht<br>
    Gruß <b>Michael</b>

  • #2
    Hallo Michael,<br>
    schau Dir das Programm an<br>
    <br>
    http://home.t-online.de/home/jensschumann/enumfonts/efonts.zip<br>
    <br>
    Das Auflisten der Fonts habe ich vorher auch noch nicht benötigt. <br>
    Das einfachste ist, die Fonts Eigenschaft des Screen-Objektes in Verbindung mit <br>
    TListbox.OnDrawItem zu verwenden. Dafür muß TListbox.Style muß dafür auf<br>
    lbOwnerDrawVariable stehen. Dann weißt Du aber nicht, ob es sich um einen TrueType Font<br>
    handelt oder nicht. <br>
    Wenn Du die Fonts selber auflistest, kommst Du an diese Information heran.<br>
    Die Kombination EnumFontFamiliesEx / EnumFontsProc listet die Fonts auf.<br>
    <pre>
    <font face="Verdana" size="1" color="#000000">function EnumFontsProc(var LogFont: TLogFont; var TextMetric: TTextMetric;
    FontType: Integer; Data: Pointer): Integer; stdcall;
    var
    S: TStrings;
    Temp: string;
    begin
    S := TStrings(Data);
    Temp := LogFont.lfFaceName;
    if ((S.Count = 0) or (AnsiCompareText(S[S.Count-1], Temp) &lt;&gt; 0)) then
    S.AddObject(Temp,TObject(FontType)); // Hier wird der FontType den TListbox.Items als Objekt untergeschoben
    Result := 1;
    end;
    </font></pre>
    Wenn Du noch fragen hast, melde Dich<br>
    <br>
    Jens Schumann<br&gt

    Comment


    • #3
      Soweit bin ich auch schon gekommen<br>
      aber ich möchte das nicht die unter "C:\Windows\Fonts"
      ausgelißtet werden sondern das Verzeichnis soll man auswählen können(z.B in einer Verzeichnis aufwhl-Komponenten)<br>.
      Gruß <b>Michael</b&gt

      Comment

      Working...
      X