Hallo, suche kompetente Hilfe zu Tab-Controls (CTabCtrl). Ich hab mich für mein Projekt auf folgenden Code gestützt, der in euren FAQ aufgeführt ist unter www.fun-soft.de/showtopic.php?threadid=1327
Nur macht mit dem Beispiel mal folgendes: Im ersten Tab einfach Enter drücken => Alle Controls im Tab verschwinden, weil der Hintergrund der Seite neu gezeichnet wird. Das passiert so bei allen Tabs, auf denen sich Steuerelemente befinden die ein Enter verarbeiten (bei meinem Projekt alle). Woran liegt das und was kann man dagegen tun?
(PS: Nebenbei sie noch erwähnt dass die im Beispiel angegebene Variante des Überladens von OnLButtonDown besser durch OnSelchange ersetzt werden sollte. Dann funktioniert nämlich auch die Navigation über Tastatur. Das ist aber völlig unabhängig vom oben angegebenen Problem)
beschreibe das mal alles genuer. habe vor kurzem kompetente hilfe hierzu bekommen. vielleicht finde ich dein problem. schau auch mal in meinen beitrag tabcontrols designen. -- gruesse rene
Das Problem ist oben beschrieben: Bei drücken von Enter verschwinden alle Controls auf dem Tab. Das Problem kann anhand des Beispielprojekts TabCtrl (im Downloadbereich) nachvollzogen werden. (Dort im ersten Tab auf Enter dücken.)
Ich vermute das hängt damit zusammen, daß alle Dialoge beim drücken von Enter oder Esc einfach geschlossen werden. Versuch mal ob das bei Esc auch passiert und stelle sicher das es bei anderen Tasten nicht wegklappt. Wenn dem so ist, musst du die Meldung WM_KEYDOWN in PreTranslateMessage() die 2 Tasten abfangen. Wie das genau geht steht in der FAQ
hi, du musst die OnOK() und die OnCancel() [& ggf. die OnClose()] überschreiben, das reicht schon... also einfach folgendes in die klasse des dialoges der reg-karte :
in die OnOK() kannst natürlich auch noch was reinschreiben was er bei enter machen soll... wichtig iss halt dass du das "CDialog::OnOK()" rausnimmst. -- grusz