![]() |
Einzelne Einträge in einer Combobox verändern
Hallo,
bin ein absoluter Anfänger was Delphi betrifft. Ich habe eine Combobox und eine Memofeld. In diesem Memofeld sollen die Einträge in der Combobox verändert werden. Die einzelnen Einträge sollen im Memofeld durch zufügen einer Zahl: 1 - Fett 2 - Unterstrichen 3 - Kursiv 4 - Durchgestrichen verändert werden. Bsp: Memofeld: Eintrag1 = 1 //--> Eintrag1 in Combobox ist Fett Eintrag2 = 2 //--> Eintrag2 in Combobox ist Unterstrichen usw. Ich habe folgendes Problem: Wie kann ich nun für jeden einzelnen Eintrag, nur durch zufügen einer Zahl, den Style verändern ? Ist das überhaupt möglich? Vielen Dank im voraus für eure Hilfe. |
Re: Einzelne Einträge in einer Combobox verändern
Soweit ich weiß kann man in einer "normalen"-Combobox den verschiedenen Einträgen keine verschiedenen Schriftarten zuweisen.
Du könntest wohl die Formatierung der ganzen Box ändern. Guck dir dazu mal die Eigenschaft Font an. |
Re: Einzelne Einträge in einer Combobox verändern
soweit ich das sehe, geht es nicht, dass man jedem Item einen anderen Style gibt.
schau dir mal die Eigenschaften der TCombobox in der Delphi-Hilfe an. vermutlich musst du dir ne eigene Komponente schreiben oder mal suchen ob's sowas schon gibt. gruessle |
Re: Einzelne Einträge in einer Combobox verändern
Mit der TcxCombobox müsste es eigentlich gehen denke ich.
Nur das Problem ist ich kann sie nicht richtig anwenden. So greife ich auf eine normale Combobox zu und verändere damit alle Items:
Delphi-Quellcode:
aber wie mache ich das mit der TcxCombobox um einzelne Items zu veränder?
ComboBox1.Font.Style := [fsBold];
Vielleicht kennt sich ja jemand aus? Habs jetzt die ganze Zeit probiert werde aber nicht schlauer. :gruebel: |
Re: Einzelne Einträge in einer Combobox verändern
Du musst die einzelnen Items selber zeichnen.
Stell dazu den Style am besten auf csOwnerDrawVariable, und benutz das OnDrawItem-Event dazu, die Items mit gewünschter Formatierung reinzumalen. |
Re: Einzelne Einträge in einer Combobox verändern
Habt ihr vielleicht ein Beispiel dafür?
Ich weiss nicht wie ich das jetzt angehen soll. Die Prozedur OnDrawItem hab ich erstellt und die Eigenschaft Style hab ich auf csOwnerDrawVariable umgestellt. nun muss ich ja die Items mit den Formatierungen in die Combobox einfügen. das müsste mit
Delphi-Quellcode:
gehen.
Combobox1.AddItems('Test');
Wie kann ich aber nun die Formatierung beim AddItem mit angeben um den Style zu verändern? |
Re: Einzelne Einträge in einer Combobox verändern
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
schau dir mal das angehängte Beispiel an - vielleicht hilft dir das weiter. Grüße vom marabu |
Re: Einzelne Einträge in einer Combobox verändern
Sorry, hatte viel zu tun und konnte das Problem über das Wochenende auch nicht lösen.
Habe mir jetzt nun das Programm angeschaut und ehrlich gesagt hilft mir das nicht sehr weiter. Ich bin wie gesagt absoluter Beginner. Hat den niemand da draussen eine Lösung? Mein Problem liegt darin einzelne Items in der Combobox anzusprechen. |
Re: Einzelne Einträge in einer Combobox verändern
hi
marabu hat doch genau gezeigt, wie es geht. Statt vorher den Eintrag auszuwählen fragst du halt im jede Zeile ab und guckst was drinnen steht. also "ansprechen" kannst du die einzelnen Items über
Delphi-Quellcode:
aber das hilft dir nicht sehr weiter, nehm ich an
...Comobox1.Items[i]...
das beispiel is ideal dafür := MfG |
Re: Einzelne Einträge in einer Combobox verändern
Hai mase1908,
ich gebe zu wenn man sich noch nicht so doll auskent könnte es schwer fallen das Beispiel von marabu zu verstehen(obwohl es 100%ig funktioniert) ;-) Zitat:
Items ist ja vom Typ TStrings und deswegen kann man die einzelnen Einträge über einen Index (bei 0 beginnend) ansprechen.
Delphi-Quellcode:
würde zum Beispiel dem dritten Eintrag den Text "blubb" zuweisen.
Combobox1.Items.Strings[2] := 'blubb';
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 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