MDI Fokus erneut zuweisen ?

MFC openGL

Erfahrenes Mitglied
Hi,

ich habe ein Problem bei der erneuten Zuweisung des Fokus. Ich möchte erreichen, das wenn ein MDI Child erneut aufgerufen wird, das dann eine Funktion zum Reset aller MDI Child Felder aktiviert wird, und das Form in den Ausgangszustand befördert.

Ich habe diese Funktion in das jeweilige MDI Form mit Fokus Activated, Fokus Enter sowie MDIChildActivated geschrieben, und zusätzlich noch beim Aufruf des Childs (siehe Code unten) den Fokus erneut gesetzt.
Jedoch kommt er nie in die Funktion rein.

Was mache ich Falsch ? Oder hab ich ne andere Möglichkeit zu erkennen, wann ein MDI Child gerade aktiv angezeigt wird ?

Danke und Gruß

MFC OpenGL



MDI Zuweisung :
Code:
 currentMDIchild.Visible = false; 
currentMDIchild = (Form)mdiChilds[formKundesuchen_ID];

currentMDIchild.MdiParent = this;

currentMDIchild.Focus();

currentMDIchild.Activate();

currentMDIchild.FormBorderStyle = FormBorderStyle.None;

currentMDIchild.Show();

currentMDIchild.SetBounds(lbmenu.Width, 0 , this.Width - lbmenu.Width - 13 - grpStatus.Width , this.Height - 73);
 
Hi MFC openGL!

//Edit: Hab dich falsch verstanden gehabt.

Das Event Form.Activated währe es dann IMO in dem Fall.
Wenn es nicht geht weiss ich net woran es liegt.
Das Event wird immer gefeuert sobald das Form den Focus bekommt.

MfG, cosmo
 
Zuletzt bearbeitet:
Auf MDI Fokus reagieren

Nichts leichter als das. ;-)
Das Test Form demonstriert Dir 2 Varianten.
  1. Das Form.Activated Event wird im MDIChild selber behandelt.
  2. Mit hilfe eines Interfaces wird im Form.MdiChildActivate Event eine Methode in dem MDIChild ausgeführt.

MfG, cosmo
 

Anhänge

  • MDIChildTest.zip
    11,7 KB · Aufrufe: 38

Neue Beiträge

Zurück