ComboBox neben Toolbar funzt net



  • Hallo Welt! 😉

    Beim Projekterstellen kann man in einenm Unterpunkt die Andockbar als Browserstil festlegen. Dann hat man oben in der Menüzeile neben der Symbolleiste ein kleines Dialogfeld in Form eine Leiste. Wunderbar! Da kann man dann Button, EingabeFelder usw einbauen und mit Funktionen belegen. Soweit so gut. Bei einer ComboBox funzt das aber net. Während das Programm läuft passiert folgendes: 😞

    Ich kann die ComboBox aufklappen, einen Eintrag wählen und es wird dann auch die dazugehörige Funktion aufgerufen. Jedesmal aber wenn im Code eine der folgenden Zeilen auftaucht kommt es zu folgendem Fehler:

    Zeile: 🙄
    int idx = dialog.m_auswahlzoom.GetCurSel();
    oder
    dialog.m_auswahlzoom.GetLBText( idx, str );

    Fehler: 🙄
    Debug Assention Failed
    File: afxwin2.inl oder winctrl1.cpp

    Der gesamte Code lautet und Funktioniert aus jedem anderen x beliebigen Dialog (Hab heute wirklich EINIGE Dialoge mit ComboBoxen geprogt):

    void CModelldesignerApp::OnCbnSelchangeCombo1()
    {
    CMeinDialogmenue dialog;
    AfxMessageBox("Hallo!");
    CString str;
    int idx = dialog.m_auswahlzoom.GetCurSel();
    if( idx < 0 ) return;
    dialog.m_auswahlzoom.GetLBText( idx, str );
    CString Out;
    Out.Format( "Drop List Selection => index %d\n%s", idx, str );
    AfxMessageBox( Out );
    }

    Den Code habe ich von Codeproject.com

    Idee die hinter der ganzen Sache steht:
    Ich wollt ein Feld haben zum Zoomfaktor bestimmen für eine Grafischeanzeige (z.B. 150%,100%,75%,50% usw. a la Word und Co)

    Bin mal gespannt ob einer das Problem lösen kann!! 🙂

    RanCarter 🕶



  • Einige Dialoge programmiert ??? Wahrscheinlich intern, aber nie von extern auf eine Combobox innerhalb eines Dialogs zugegriffen, oder ??

    Denn dann wüßtest Du, daß

    CMeinDialogmenue dialog;
    int idx = dialog.m_auswahlzoom.GetCurSel();
    

    niemals nicht aus keinem Anlaß auch nur ansatzweise jemals funktioniert hat

    Denn: Vor dem Zugriff auf ein Fensterelement muß dieses per Create erstellt worden sein !


Anmelden zum Antworten