Handle auf CheckBox



  • Hallo Leute,

    Folgendes als Ausgangsbeschrieb: Ich habe 20 EditBoxes und nebendran jeweils eine CheckBox (ergibt logischerweise auch 20). Nun möchte ich, wenn man irgendwas in der EditBox verändert, dass die richtige CheckBox links aktiviert ("gecheckt") wird. Bisher hab ich es einfach mit 20 OnChange Funktionen gemacht, was auch klappt. Aber ich frag mich ob das nicht effektiver lösbar wäre weil im Prinzip in jeder dieser 20 Funktionen dasselbe drinsteht, einfach mit der Membervariable der dazugehörigen CheckBox. Jetzt hab ich das in eine Funktion gepackt und einfach bei jedem EN_CHANGE auf die selbe Funktion "verwiesen". Das Problem ist jetzt, dass ich ja immer die richtige CheckBox aktivieren muss. Dazu meine Frage:

    Wie kann ich, wenn z.B. in einem CString "m_bCheck1" steht ein Handle oder sowas auf die CheckBox kriegen? Ich weiss nichtmal ob ich ein Handle brauche, ich möchte einfach in der Funktion dann folgendes machen können:

    checkboxname = TRUE;
    

    und er ersetzt 'checkboxname' dann durch das was im CString steht und setzt die richtige Checkbox auf TRUE. Den richtigen Membernamen der Checkbox geb ich dann beim EN_CHANGE oben manuell im Funktionsheader mit (also OnChangeEditFields("m_bCheck1")). Ist ungefähr klar was ich meine oder nicht so?

    Danke für die Aufmerksamkeit, schönen Tag noch



  • Idee:
    Ich würde alle Controls dynamisch zur Laufzeit erzeugen. Die sollten dann Control-ID's in einem von dir definierten Wertebereich kriegen (ID 1000 bis 1040 z.B.). Dann fängst du in PreTranslateMessage einfach alle Nachrichten für diese ID's ab (Die ID müsste mal jeweils über den hWnd der MSG Struktur bekommen).


Anmelden zum Antworten