![]() |
schriftstile in einer Combobox
Hi ich hab gleich mal 2 Fragen:
1. kann man in einer Combobox für Items verschiedene Schriftstile verwenden (Ich würde gern bestimmte einträge gesondert hervorheben) [edit=SirThornberry]zweite Frage entfernt - Mfg, SirThornberry[/edit] |
Re: schriftstile in einer Combobox
Zitat:
|
Re: schriftstile in einer Combobox
Es gab bei Delphi imemr so ein Beispiel-Projekt, wo alle verfügbaren Schriftarten eingelesen wurden und in eienr Combobox in der jeweiligen Schriftart dargestellt wurden (so wie man das von Word etc kennt). Guck dir das mal an.
|
Re: schriftstile in einer Combobox
Delphi-Quellcode:
ComboBox.Items.Assign( Screen.Fonts);
|
Re: schriftstile in einer Combobox
Zitat:
Zitat:
|
Re: schriftstile in einer Combobox
Mal so ganz auf die Schnelle könntest du auch einen TFontDialog nehmen, um eine Schriftart auszuwählen.
Im Event OnDoubleClick einbauen. Die ComboBox, die gleich den Schriftstil anzeigt hat nämlich auch zwei entscheidende Nachteile: 1.) es müssen ALLE Schriftarten auf dem Rechner geladen werden. Das dauert seine Zeit und hat einen hohen Resourcenverbrauch zu Folge. Es soll ja Leute geben, die sich über 1000 Fonts auf ihrem Rechner installiert haben... :wall: 2.) Bei Spezialfonts (z.B. Barcode-Fonts, Wingdings, WebDings,...) wird der Fontname nicht vernünftig angezeigt. Das ist vielleicht nicht so schlimm, weil man gerade die Spezialfonts eh nicht benützen möchte, sieht aber unfein aus. Die Schriftart wird ja wohl relativ selten ausgewählt. Der TFontDialog mag für manche vielleicht etwas altmodisch aussehen, ist aber vom Kosten/Nutzen-Verhältnis genau richtig. |
Re: schriftstile in einer Combobox
@shima: So wie Chris es beschrieben hat, möchte er einfach bei einigen Items ein anderer Schriftstil verwenden.
Er hat nichts geschrieben von (alle) Schriftarten in die ComboBox laden Zitat:
|
Re: schriftstile in einer Combobox
Hallo,
ein kleines Beispiel als Anregung:
Delphi-Quellcode:
In den Eigenschaften muss Style auf csOwnerDrawVariable stehen!
procedure TFormEditor.ComboLetterDrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState); begin with ComboLetter.Canvas do begin FillRect(Rect); Font.Name := ComboLetter.Items[Index]; Font.Size := 10; TextOut(Rect.Left + 1, Rect.Top, ComboLetter.Items[Index]); end; end; procedure TFormLetterEditor.ComboLetterMeasureItem(Control: TWinControl; Index: Integer; var Height: Integer); begin if Index = -1 then exit; with ComboLetter.Canvas do begin Font.Name := ComboLetter.Items[Index]; Font.Size := 10; Height := TextHeight('Xx') + 2; end; end; Gruß RoGa |
Re: schriftstile in einer Combobox
könntest du bitte für deine zweite Frage ein neues Thema erstellen damit es nicht ein riesen Durcheinander wird. Zudem kannst du dann entsprechend der zweiten Frage auch einen dafür entsprechenden Titel wählen. Danke :-)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:38 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 by Thomas Breitkreuz