CEdit-Felder leergefegt nach Rückkehr aus anderer Applikation
-
Nach galaxis-weiter Forumsuche richte ich nun mein Problem an Euch..
Ich habe eine dialogfeld-basierte Anwendung unter MFC/C++ 6.0 unter XP erstellt.
Wenn ich nun ein Fenster irgendeines anderen Programmes nach vorne hole, daraus etwas mit CTRL-C kopiere und in meine MFC-Anwendung (z.B. mit Alt-Tab) zurückkehre, um den Text dort mit CTRL-V in eines der CEdit-Felder einzukopieren, muß ich manchmal (nicht immer!) die unerfreuliche Erfahrung machen, daß ALLE Felder ohne Inhalt angezeigt werden.
-> der Kopierzweck ist nur ein Beispiel, warum ich die MFC-Anwendung vorübergehend dem Hintergrund überlasse - ich konnte noch keinen Zusammenhang ausmachen, in welchem Kontext das Problem entsteht und wann nicht.Ich löse nun als Gegenmaßnahme per Funktionstaste einen UpdateData(FALSE) aus, kann so den zu diesem Zeitpunkt gespeicherten Inhalt der m_CEdit-Felder reloaden, aber mehr als eine Krücke ist das nicht.
Hat jemand eine Idee, was mir dieses Verhalten beschert

Thanx
-
Auf was für Nachrichten reagierst Du in Deriner Message Map. Ich vermute eher, dass Du eine Nachricht falsch behandelt. Vermutlich EN_SETFOCUS o.ä.
-
Volltreffer!
Ich hatte nicht damit gerechnet, daß die Rückkehr zum MFC-Programm ein EN_SETFOCUS-Ereignis für das Feld auslöst, wo der Cursor gerade steht!
Für die Logik meines Programmes ist es ungünstig, daß ein m.E. harmloser/üblicher Applikationswechsel in dieser Weise einen (zusätzlichen) Impuls abgibt.
Na ja, immerhin weiß ich jetzt, was passiert :p
Und das ist schon mal die halbe Miete.Danke
Siegmar