Kombifeld soll anderes aktivieren...



  • Hallo,

    jo ich bin relativ neu was C++ angeht 😉
    Ich hab nun folgendes Problem:

    Ich habe ein Kobinationsfeld (Dropdown).
    In dem steht z.B. S-Bahn und U-Bahn.
    Wenn S-Bahn angeklickt wird soll sich das darunter liegende Dropdown aktivieren
    und den Inhalt der S-Bahnlinien einfügen.
    Das Problem ist... Es tut sich nichts.
    Um die Auswirkung besser testen zu können habe ich das so gestaltet das bei nichterfüllen das Dropdown versteckt werden soll...
    Hier...

    UpdateData(TRUE);
    	CString strComboTM;
    	strComboTM = m_strCombo_TM; 
    
    	if(strComboTM == "S-Bahn")
    	{
    		GetDlgItem(IDC_COMBO_Linie) -> EnableWindow(TRUE);
    	}
    	else
    	{
    		GetDlgItem(IDC_COMBO_Linie) -> ShowWindow(FALSE);
    	}
    

    Bei keinen "Nachrichten" im Klassen-Assistenten der Dropdown-Liste spricht das an. Woran liegt das ? 😕

    Hmm ich danke für eure Geduld 😉

    _Flo_



  • Servus, 😮

    Du machst es dir ganz schön umständlich:
    Warum nimmst du nicht 'OnSelChange':

    void CMethEdit::OnSelchangeEditComboSoderUBahn() 
    {   int SelectedLinie;
        SelectedLinie = m_Combo_Linie.GetCurSel(); // m_Combo_Linie ist ne Variable vom Typ CComboBox          
        CComboBox* pCB; 
        if ( SelectedLinie = 1 )             // dazu musst du wissen an welche Stelle U oder SBahn steht
        { 
           GetDlgItem(IDC_COMBO_LinieUBahn)->ShowWindow(TRUE); // vorher musst du es natürlich irgendwo verstecken
           pCB-> // kannst du jetzt das Kombinationsfeld bspw. mit 'AddString' mit deinen Linien füllen 
                 // oder du hast eine Tabelle die du ausliest, ich weis ja net wo die Inhalte dann herkommen
        }  
        else 
        {
           GetDlgItem(IDC_COMBO_LinieSBahn)->ShowWindow(TRUE);  // um gleich zu unterscheiden ob S oder UBahn
        }  
    }
    

    MfG
    RunSeb 😃


Anmelden zum Antworten