Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Einzelne Einträge in einer Combobox verändern (https://www.delphipraxis.net/53055-einzelne-eintraege-einer-combobox-veraendern.html)

mase1908 9. Sep 2005 10:11


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.

Mr_G 9. Sep 2005 10:21

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.

RavenIV 9. Sep 2005 10:26

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

mase1908 9. Sep 2005 11:41

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:
ComboBox1.Font.Style := [fsBold];
aber wie mache ich das mit der TcxCombobox um einzelne Items zu veränder?
Vielleicht kennt sich ja jemand aus?
Habs jetzt die ganze Zeit probiert werde aber nicht schlauer. :gruebel:

Ultimator 9. Sep 2005 11:58

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.

mase1908 9. Sep 2005 12:46

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:
Combobox1.AddItems('Test');
gehen.
Wie kann ich aber nun die Formatierung beim AddItem mit angeben um den Style zu verändern?

marabu 9. Sep 2005 13:37

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

mase1908 12. Sep 2005 09:58

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.

n0b0dy 12. Sep 2005 10:09

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:
  ...Comobox1.Items[i]...
aber das hilft dir nicht sehr weiter, nehm ich an
das beispiel is ideal dafür :=


MfG

Sharky 12. Sep 2005 10:12

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:

Zitat von mase1908
Mein Problem liegt darin einzelne Items in der Combobox anzusprechen.

Was verstehst Du denn unter "anzusprechen".
Items ist ja vom Typ TStrings und deswegen kann man die einzelnen Einträge über einen Index (bei 0 beginnend) ansprechen.
Delphi-Quellcode:
Combobox1.Items.Strings[2] := 'blubb';
würde zum Beispiel dem dritten Eintrag den Text "blubb" zuweisen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 Uhr.
Seite 1 von 2  1 2      

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