Befüllen einer Combobox ohne Wirkung



  • Hallo,
    ich habe mit Visual Studio 2008 ein dialog-Fenster erstellt (bei Resourcen hinzugefügt und anschließend im Editior zusammen geklickt).
    Ich will eine Dropdown-Menü haben, bei der der User eine Option wählen kann. Dazu habe ich die Combobox genommen und als Typ Dropdown-Listenfeld angegeben.

    Mit Strg-Klick darauf habe ich ein Control (CComboBox)in die dazugehörige Klasse hinzufügen lassen.

    In der OnInitDialog-Methode werden mittels

    comboBoxControl.AddString(_T("Zeilenname"));
    

    die Zeilen hinzugefügt.

    Wenn das Dialog-Fenster erscheint, sieht man allerdings gar nichts. Kein Eintrag wurde eingefügt.

    Baue ich mir mit dem Dialog-Editor allerdings eine ListBox, mach das gleiche wie oben beschrieben (Variable raus schreiben, mit .AddString Zeilen einfügen) funktioniert es so, wie ich es mir vorstelle.

    Was muss ich bei dem Dropdown-Menü anders machen, damit es funktioniert?

    Danke



  • Was heißt "...sieht man allerdings gar nichts.." genau? Ist die Comboxbox komplett leer (also auch beim Klick auf die Pfeilschaltfläche) oder ist nur nichts ausgewählt was in der Editzeile steht?



  • Früher war immer die Liste zu klein. Ist das heute immer noch so? Bin schon etwas raus...
    http://www.c-plusplus.net/forum/39108



  • isabeau schrieb:

    Früher war immer die Liste zu klein. Ist das heute immer noch so? Bin schon etwas raus...
    http://www.c-plusplus.net/forum/39108

    Das ist mir so noch nicht vegekommen (verwende VS .net 2003). Einen Eintrag sieht man immer. Es kann nur sein, dass bei mehreren Einträgen dann an der Liste beim Aufklappen Scrollbalken dran sind. Aber die Größe der Liste lässt sich ja im Ressourceneditor einstellen.



  • AndyDD schrieb:

    Was heißt "...sieht man allerdings gar nichts.." genau? Ist die Comboxbox komplett leer (also auch beim Klick auf die Pfeilschaltfläche) oder ist nur nichts ausgewählt was in der Editzeile steht?

    sie ist komplett leer.
    Es ist weder was angewählt, noch erscheint was wenn man das DropdownMenü ausklappt.

    Es ist also eine Dropbox ohne Eintrag.



  • isabeau schrieb:

    Früher war immer die Liste zu klein. Ist das heute immer noch so? Bin schon etwas raus...
    http://www.c-plusplus.net/forum/39108

    Die Combobox müsste groß genug sein. Hab sie gerade auch mal extra groß gezogen - nichts änderte sich.



  • Hast du auch die richtige Membervariable oder ist das die einzige Combobox in deinem View bzw. ist die Membervariable auch richtig mit deinem Dialogfelelement verbunden (Stichwort DoDataExchange)?



  • AndyDD schrieb:

    Hast du auch die richtige Membervariable oder ist das die einzige Combobox in deinem View bzw. ist die Membervariable auch richtig mit deinem Dialogfelelement verbunden (Stichwort DoDataExchange)?

    ich denke das passt:

    in .h:
    CComboBox m_comboBox;
    
    in.cpp:
    BOOL PopupSave::OnInitDialog() 
    {
    	CDialog::OnInitDialog();
    
    	m_comboBox.AddString("zeile");
    
    	return TRUE;
    }
    
    void PopupSave::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	DDX_Control(pDX, IDC_COMBO1, m_comboBox);
    }
    

  • Mod

    Und die Box ist nicht Ownerdrawn oder so?



  • @HeinzRudolph
    wenn die Combobox immer noch nicht geht, dann poste ich dir meine Combobox und deren Code. Die funkt 1a.
    War nicht einfach 🙂



  • tomycat2009 schrieb:

    @HeinzRudolph
    wenn die Combobox immer noch nicht geht, dann poste ich dir meine Combobox und deren Code. Die funkt 1a.
    War nicht einfach 🙂

    Habe mich mittlerweile an die ListBox gewöhnt und find die Lösung damit fast besser.

    Aber du kannst mir gern deinen Code posten, der Moment wird kommen, an dem ich wieder eine ComboBox verwenden will 🙂


Log in to reply