Problem mit CMFCRibbonComboBox



  • Hi,
    ich versuche mich gerade in die neue Ribbon-Oberfläche einzuarbeiten.

    Dabei will ich eine ComboBox erstellen, bei der man eine Physikalische Einheit (Ohm) auswählen kann. Zudem soll dabei zwischen den einzelnen Bereichen unterschieden werden (milliOhm, Ohm, kiloOhm, MegaOhm):

    Auswahlfeld = new CMFCRibbonComboBox(ID_RIBBON_AUSWAHL, FALSE, 30);
    Auswahlfeld->AddItem(_T("mOhm"));
    Auswahlfeld->AddItem(_T("Ohm"));
    Auswahlfeld->AddItem(_T("kOhm"));
    Auswahlfeld->AddItem(_T("MOhm"));
    Auswahlfeld->EnableDropDownListResize();
    Auswahlfeld->SelectItem(_T("Ohm"));
    pPanel1->Add(Auswahlfeld);
    

    Mein Problem ist jetzt, dass der letzte Eintrag (MOhm) nicht mehr angezeigt wird.
    Ich denke, dass liegt daran, dass er die Liste jedes Mal durchgeht und schaut, ob das Element nicht schon vorhanden ist. Anscheinend achtet er dabei dann nicht auf Groß und Kleinschreibung.
    Gibt es eine Möglichkeit dieses Problem zu lösen?

    Viele Grüße und vielen Dank für eine Antwort

    Andreas




  • Mod

    Wenn Du in den Code von AddItem rein debuggst würdest Du sofort sehen was passiert.
    Bevor ein Item hinzugefügt wird, wird FindItem ausgeführt, FindItem benutzt CompareNoCase um die Items zu vergleichen.

    Du könntest Deine eigene Ableitung der Klasse schaffen und direkt auf m_lstItems zugreife, was besseres wüsste ich nicht.



  • Hi,
    vielen Dank für die beiden Antworten,
    werde mal schauen wie ich dass dann am besten umsetze.

    Viele Grüße
    Andreas


Anmelden zum Antworten