deaktivieren einer combobox oder eingabefeld



  • ich kämpfe ohne erfolg, mein zeil ist es eine combobox und ein eingabefeld während der programmausführung zu deaktivieren bzw. zu aktivieren.
    wie das mit bushbuttons funktioniert weiß ich, mit eingabefelder oder comboboxen sind die membervariablen allerdings cstrings und diese lassen sich nicht mit .enablewindow() ansprechen.

    vielen dank für euer lösungsvorschläge

    lg andrea



  • Aus dem Stehgreif würd ich sagen:

    GetDlgItem(IDC_DEINECOMBOBOX)->EnableWindow(TRUE oder FALSE);

    das müsste eigentlich gehen.

    Edit: Oder du erstellst eine neue Membervariable (über den Wizard), nimmst dann aber als Kategorie (VS.Net 2003 ganz rechts im wizard) nicht value sondern Control.



  • andrea19791 schrieb:

    ich kämpfe ohne erfolg, mein zeil ist es eine combobox und ein eingabefeld während der programmausführung zu deaktivieren bzw. zu aktivieren.
    wie das mit bushbuttons funktioniert weiß ich, mit eingabefelder oder comboboxen sind die membervariablen allerdings cstrings und diese lassen sich nicht mit .enablewindow() ansprechen.

    vielen dank für euer lösungsvorschläge

    lg andrea

    Du musst in dem Fall eine Membervariable vom Typ "Control" anstatt vom Typ "Wert" anlegen.



  • ich benötige doch aber den wert, wenn die combobox aktiv ist.



  • Da hast du zwei Möglichkeiten:
    Entweder du legst 2 Variablen für deine ComboBox an, einmal value und einmal Control
    Oder
    Du fragst über deinen Controlmember (die Controlvariable für deine Combobox) GetCurSel ab.

    Z.b.:

    if(m_cCombobox.GetCurSel() == 0)
       m_DeinEdit = "Der erste Eintrag is selektiert";
    

    mit SetCurSel(int nIndex) kannst du einen Eintrag im Code auswählen, und ich glaube GetCount() liefert dir die maximale Anzahl (Aber Vorsicht: GetCurSel() fängt bei 0 an zu zählen, während GetCount() dir die reale anzahl zurückgibt. Also quasi wie bei Arrays _)


Log in to reply