kathi008 Geschrieben 16. Oktober 2007 Geschrieben 16. Oktober 2007 :cool: Hallo Forum, hab wieder mal eine Frage: Ich habe einen Eigenschaftsblätterdialog von CPropertySheet und CPropertyPage abgeleitet. Auf einer Page sind mehrere CEdit Eingabefelder. Jetzt möchte ich, wenn es in einem Feld die Eingabe(eine Kommazahl z.B. 234.53) gemacht worden ist, diese sofort abfangen und die MemberVariable aktualisieren. Nun ich hab mit OnChange versucht, da wird es aber schon bei der ersten Zahl aktualisiert, ich möchte aber, dass es erst nach dem Drücken der Entertaste gemacht wird. Wie mache ich es? Ein Button kommt nicht in Frage:( Zitieren
Guybrush Threepwood Geschrieben 16. Oktober 2007 Geschrieben 16. Oktober 2007 versuchs mal mit onChar Zitieren
kathi008 Geschrieben 16. Oktober 2007 Autor Geschrieben 16. Oktober 2007 Habe ich schon versucht auch schon mit OnKeyDown, allerdings kommt das Programm nicht mal in die Funktion rein, sollte es aber, sobald eine Taste gedrückt worden ist, oder? Ich nehme an, es liegt daran, dass es eine Eigenschaftsseite ist. Zitieren
Guybrush Threepwood Geschrieben 16. Oktober 2007 Geschrieben 16. Oktober 2007 Nee es wird eher daran liegen das das in dem Edit Feld drin passiert. Ich kenn mich mit der MFC nicht gut genug aus, aber versuchs mal mit PreTranslateMessage. Zitieren
kathi008 Geschrieben 17. Oktober 2007 Autor Geschrieben 17. Oktober 2007 Guten Morgen! Guybrush Threepwood aber versuchs mal mit PreTranslateMessage. ich danke dir, es funktionier wunderbar! Hab aber noch eine Frage: wie stelle ich fest, dass gerade z.B. Edit1 Focus hat? Edit1.GetFocus() liefer den Focus auf gesamtes Fenster! Zitieren
Klotzkopp Geschrieben 17. Oktober 2007 Geschrieben 17. Oktober 2007 Hab aber noch eine Frage: wie stelle ich fest, dass gerade z.B. Edit1 Focus hat? Edit1.GetFocus() liefer den Focus auf gesamtes Fenster!GetFocus ist eine Klassenmethode (also static) von CWnd. Es ist zwar möglich, GetFocus über ein bestimmtes Fensterobjekt aufzurufen, aber das weder nötig, noch hat es irgendeine Auswirkung. Du solltest immer CWnd::GetFocus benutzen, um das auch kenntlich zu machen. So kannst du prüfen, ob Edit1 den Focus hat: if( CWnd::GetFocus() == &Edit1 ) Zitieren
kathi008 Geschrieben 17. Oktober 2007 Autor Geschrieben 17. Oktober 2007 Zitat von Klotzkopp: Du solltest immer CWnd::GetFocus benutzen, um das auch kenntlich zu machen. Danke dir, das wusste ich nicht:hells:. Guybrush Threepwood dir auch danke. :uli Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.