SetFocus() CPropertyPages



  • Hi,

    ich hab grad einen Wizard mit Hilfe der CPropertyPages erstellt, welcher auch so weit funktioniert. Allerdings hab ich festgestellt, dass beim zurückgehen voneiner Page auf die vorige (die bereits zuvor erstellt worden ist), der Focus nicht mehr vorhanden ist. Sprich es hat kein Element mehr den Focus.

    Beim Start des Wizards hat immer das erste Control auf der Page den Focus (aus OnInitDialog() und dessen return wert). Jetzt hab ich einfach in der OnSetActive() Methode diesen Code eingefügt

    void CWizardPage::OnSetActive()
    {
       SetFocus();
    }
    

    bin mir aber nicht sicher ob das die richtige Lösung zu diesem Problem darstellt. Da das doch eigentlich Windows etc. selbst erledigen sollte können, oder?

    Gruß
    Patrick


  • Mod

    1. Sollte das nicht passieren. Außer Du bastelst selber mit SetFocus herum.
    2. SetFocus in Dialogen verbietet sich eigentlich, siehe:
    http://blog.m-ri.de/index.php/2007/08/24/setfocus-versus-wm_nextdlgctl/


Anmelden zum Antworten