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:(
Guybrush Threepwood Geschrieben 16. Oktober 2007 Geschrieben 16. Oktober 2007 versuchs mal mit onChar
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.
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.
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!
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 )
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden