Veröffentlicht 16. Oktober 200717 j :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:(
16. Oktober 200717 j Autor 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.
16. Oktober 200717 j 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.
17. Oktober 200717 j Autor 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!
17. Oktober 200717 j 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 )
17. Oktober 200717 j Autor 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.