Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Probs bei eigener CCombobox klasse

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.09.2005, 13:15 Uhr
LowFly



hy ich habe ein problem mit der Combobox klasse. ich will dort icons in die combobox setzten. In den beiden beispielen auf codeproject sind jedesmal eigene Klassen für die Combobox erstellt worden.

www.codeproject.com/combobox/multicombo.asp

www.codeproject.com/combobox/combobold.asp

In den jeweiligen klassen von den beispielen gibt es eine DrawItem Funktion. Und hier liegt mein problem.

Ich kann mir in meiner anwendung eine CCtrlComboBox klasse erstellen dies hab ich über den klassenassistenten sowie über das register klassen erstellt. dann habe ich die DrawItem funktion mit dem klassenassi eingefügt in beiden fällen reagiert die Funktion DrawItem nicht.

ich hab dann mal versucht in einem der Beispiele mir ne eigene ComboBox klasse zu erstellen und diese dann mit der Combobox zu verbinden. wenn ich in dem beispiel dann die funtion DrawItem in meine gerade erstellte Klasse einfüge reagiert die funktion DrawItem.

erstell ich mir aber ein eigenes beispiel nur mit einem dialog und ner combobox, erstelle mir dann noch eine Combobox klasse und verbinde diese mit der combobox wird die DrawItem funktion nicht angesprochen

weis jemand Warum??? bzw. wie mus ich die klassen erstellen das die DrawItem funktion funktioniert. bzw wie muß ich mein project erstellen.

die von mir erstellten klassen sehen von der strucktur genau so aus wie die in den beispielen.

andere funktionen die nicht durch den klassenassi erstellt werden kann ich aber problemlos ansprechen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.09.2005, 13:24 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


die Combo muss OwnerDraw sein sonst wird DrawItem nicht aufgerufen. Ich hab das immer gelöst indem ich das im CTLColor-Reflect ModifyStyle(0, BS_OWNERDRAW); aufgerufen habe
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.09.2005, 16:42 Uhr
LowFly



super danke

jetzt klapt das. hab in meinem testbeispiel im eigenschaftsfeld der combobox im register Format den Typ auf Dropdown-Listenfeld gestellt die Besitzerzeichnung Fixiert und hab nen hacken bei mit Zeichenfolde gesetzt jetzt wird DrawItem angesprochen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.09.2005, 19:35 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


achja MeasureItem sollte man bei Combos auch überschreiben (vgl bsp in der msdn) da das den platz pro dropdown-"item" "vorbereitet"
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: