nawatnu Geschrieben 5. August 2002 Geschrieben 5. August 2002 Hi. Ich möchte das Design einer MFC-Combobox ändern. Damit meine ich aber nicht nur die Farbe, sondern z.B. das Aussehen des Pfeils an der rechten Seite. Wisst ihr wie (bzw ob) das geht?
nawatnu Geschrieben 7. August 2002 Autor Geschrieben 7. August 2002 Ok, mal etwas kongreter: Ich arbeite gerade daran eine Listbox farbig zu machen. Dazu hab ich in Visual C++ eine Klasse von der Klasse Listbox abgeleitet und OnCtlColor bearbeitet in dem ich mir ein CBrush-Objekt erzeuge und dieses zurückgebe. In meinem Dialog habe ich zur Listbox eine Variable vom Typ meiner abgeleiteten Listbox-Klasse erstellt, aber es passiert nichts, d.h. die Farbe ändert sich nicht. Hat von euch einer ne Ahnung, was ich da vergessen haben könnte?
Klotzkopp Geschrieben 7. August 2002 Geschrieben 7. August 2002 WM_CTLCOLOR schickt die Listbox an Ihr Parent-Window (üblicherweise eine Dialog- oder FormView-Klasse). Dort musst Du OnCtlColor implementieren.
nawatnu Geschrieben 7. August 2002 Autor Geschrieben 7. August 2002 Ok, ich hab OnCtlColor() in meiner Dialog-Klasse implemtentiert. Diese Funktion pDC->SetBkColor(RGB(255,0,0)); setzt aber bei mir nur Comboboxen und Textfelder farbig, aber nicht Listboxen. Ähh, vielleicht sollte ich noch erwähnen, dass das ganze unter WinCE laufen soll. Dabei sind nen Haufen der MFC-Funktionen nicht funktionsfähig.
Klotzkopp Geschrieben 7. August 2002 Geschrieben 7. August 2002 Wird die Funktion überhaupt mit CTLCOLOR_LISTBOX aufgerufen?
nawatnu Geschrieben 7. August 2002 Autor Geschrieben 7. August 2002 Ich finde keine Windows-Message OnPaint zu meiner Listbox in der Dialog-Klasse, nur zu meinem Dialog allgemein. Hab ich da was vergessen? Ich arbeite noch nicht so lange mit MFC (und schon gar nicht für WinCE).
Klotzkopp Geschrieben 7. August 2002 Geschrieben 7. August 2002 Üblicherweise überschreibt man CListBox::DrawItem.
nawatnu Geschrieben 7. August 2002 Autor Geschrieben 7. August 2002 Ok, ich habs jetzt. Dankeschön! :marine
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden