Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Schriftart ändern durch ComboBox in RichEdit (https://www.delphipraxis.net/5959-schriftart-aendern-durch-combobox-richedit.html)

profiz 24. Jun 2003 17:52


Schriftart ändern durch ComboBox in RichEdit
 
Ich habe ein RichEdit in dem ich die Schriftart ändern möchte über eine ComboBox.
1. Wie kann ich alle Schriftarten in der ComboBox darstellen?
2. Wie kann ich im RichEdit die Schriftart durch auswählen in der Combobox ändern?

Freue mich auf Antworten. :D

Stanlay Hanks 24. Jun 2003 18:42

Hallo. Möchstest du die Farbe des ganzen Textes ändern, oder nur die, des markierten Textes? Ich glaub, es gibt irgendwo eine Komponente (Torry?), die alle Schriftarten des Systems auflistet. Und für die Farben gibt es bei Delphi Standardmäßig - ich glaube es heißt so - eine ColorComboBox.

Man liest sich, Stanlay


PS: Wieso nimmst du nicht einen Font-Dialog?

profiz 24. Jun 2003 18:48

Weil man beim Fontdialog erstmal einen Dialog öffnen muss, und auserdem auch alles ändert. Und mit dem über COmbobox ändern ist das einfacher.

Christian Seehase 24. Jun 2003 18:55

Moin Profiz,

wenn es Dir genügt die Schriftarten in der ComboBox zur Auswahl zu haben, kannst Du es so machen:

Delphi-Quellcode:
  ComboBox1.Items.Assign(Screen.Fonts);
und um die Zuweisung zu machen musst Du im OnChange der ComboBox nur

Delphi-Quellcode:
  if ComboBox1.Items.IndexOf(ComboBox1.Text) > -1 then begin
    RichEdit1.Font.Name := ComboBox1.Text;
  end;
eintragen.

Künftig bitte daran denken: Zwei Fragen - Zwei Threads!
(auch wenn ich natürlich Verständnis dafür habe, dass die Fragen für Dich zusammengehören, es erschwert aber anderen die Suche)
Danke.

Niko 24. Jun 2003 19:00

zu 1.:
Delphi-Quellcode:
Combobox1.Items.Clear;
for i := 0 to Screen.Fonts.Count - 1 do
  Combobox1.Items.Add(Screen.Fonts.Strings[i];
zu 2.:
Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  RichEdit1.SelectAll; // falls du die Schriftart des gesamten Textes ändern möchtest
  RichEdit1.SelAttributes.Name := ComboBox1.SelText;
end;
Edit:

War wohl zu langsam...
Die Lösung von Chris ist aber wohl die einfachere (1.) bzw. sicherere (2.).

profiz 24. Jun 2003 19:42

Danke, funktioniert alles. :D

profiz 24. Jun 2003 19:55

@Christian Seehase, sorry das ich keinen zweiten thread mache, aber das gehört auch noch dazu.

Ich hab jetzt noch Buttons in meiner Toolbar, und jetzt will ich, wenn ich auf den Fett Button drücke, möchte ich das der Text auch fett wird.
Mit RichEdit1.Font.Style.fsBold geht nicht, da krieg ich nur ne Fehlermeldung.

Christian Seehase 24. Jun 2003 20:02

Moin Profiz,

sorry, aber die beiden Fragen hätten jeweils schon in einen eigenen Thread gehört.

Wie schon gesagt: Ich verstehe, dass das für Dich zusammenghört, dass wird aber nicht zwingend für jemanden der Fall sein, der nach etwas bestimmten sucht.

Also Bitte: Neuer Thread.

Ich mach hier mal zu.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.

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