TabCtrl im Eltern-Dialog wird beim autom. Wechsel nicht aktiviert



  • Hallo zusammen.

    Ich habe drei Dialoge als TabCtrl's im Haupt-Dialog zusammengefasst.
    Mit "OK" werden alle deren Einstellungen nacheinander gespeichert.
    Wenn ich aber nun einen Fehler (nicht plausible Eingaben) in einem der
    Tab-Dialoge feststelle, möchte ich auf den fehlerhaften Dialog wechseln.

    Nun passiert Folgendes:
    Ich schaffe es, den gewünschten Dialog (TabCtrl) anzuzeigen.
    Aber leider bleiben alle darin enthaltenen Ctrls unerreichbar.
    Ich kann also versuchen, in ein Edit-Ctrl zu klicken. Es passiert aber nix.
    Und wenn man mit der Maus über den Bildschirm streicht, treten einige der
    Ctrls des vorherigen Tabs zum Vorschein.

        ((CDlg1*)m_TabCtrl.GetTab(1))->OnOK();
        if (!((CDlg1*)m_TabCtrl.GetTab(1))->GetOK()) {
            m_TabCtrl.GetTab(1)->ShowWindow(SW_SHOW);// das bringt den gewünschten Dialog erst zur Anzeige
            m_TabCtrl.SetCurSel(1);      // Die nächsten zwei machen auch noch Sinn.
            m_TabCtrl.GetTab(1)->SetFocus();    
    			// .. Diese nächsten Anweisungen ändern nix mehr. (alles Mögliche versucht)
                            // .. Es braucht den manuellen Click auf den Reiter des TabCtrls.
            m_TabCtrl.GetTab(1)->SendMessage(BM_CLICK);
            m_TabCtrl.GetTab(1)->SetActiveWindow();
            m_TabCtrl.GetTab(1)->SetForegroundWindow();
            m_TabCtrl.GetTab(1)->SetEventOn();
            return;
        }
    

    Vielen Dank für Eure Hilfe.
    Grüsse
    Helmut


Log in to reply