CString bearbeiten



  • hi leute,

    ich werd bald wahnsinnig, ich sucht seit 2 Tagen eine Möglichkeit einem CString
    eine Schriftart, Schriftfarbe etc mitzugeben nur ich kann einfach nix finden.

    Ich arbeite mit VC++ 6.0, MFC Anwendung

    ---------------------------------------

    CString strBuffer;
    strBuffer = " veraltet";
    pCombo->AddString(strBuffer);

    ---------------------------------------

    dieser eintrag wird in eine Combobox eingefügt(und noch n paar andere)
    nun will ich das dieser String in der Farbe rot zb erscheint, oder fett oder irgendwie verändert eben, das er sich von den anderen unterscheidet.

    ich hoff ihr könnt mir helfen, bin echt am verzweifeln 😞


  • Mod

    Solche Eigenschaften hat eine CComboBox nicht. Du musst dazu zu Ownerdraw greifen, oder Dir eine entsprechende Klasse evtl. bei www.codeproject.com suchen.
    z.B.:
    http://www.codeproject.com/KB/combobox/SuperComboBox.aspx



  • wieso die eigenschaften einer ComboBox?
    ich mag doch den String verändern...
    oder könnte die Combobox selbst einen veränderten String nur in Standard anzeigen, also angenommen Die Schriftfarbe wäre rot, würde es in der Combobox trotzdem schwarz angezeigt?


  • Mod

    Lies doch mal bitte erstmal etwas bevor Du solche banalen Fragen stellst.

    Eine normale CComBoBox hat nur eine Egenschaft für eine Zeile die es darstellt: Den Text!
    Ein CString hat auch nur eine Eigenschaft, die es enthält: Den Text!

    Grundsätzlich hat eine CComboBox weitere Attribute, dies ebnutzt um Daten darzustellen, z.B. den Font. Dieser wird aber auch für alle Einträge benutzt.
    Wiederum ist die Farebe keine Eigenschaft des Fonts 😉

    Das können wir nun weiterführen ohne Ende... 🕶



  • also habe ich keine möglichkeit in einer normalen Combobox einzelne Einträge zu verändern?



  • Verändern schon, aber nicht anders darstellen. Dafür musst Du Custom Draw verwenden.



  • Praktikant5.0 schrieb:

    also habe ich keine möglichkeit in einer normalen Combobox einzelne Einträge zu verändern?

    Folge doch einfach Martins Link und nimm die SuperComboBox. Die scheint allen deinen Anforderungen zu genügen...


Anmelden zum Antworten