A small sample application that shows two methods of keeping the active MDI child active (without losing focus) while new MDI siblings are added, in the background.
Method one disables the new MDI sibling before making it visible. This causes the active form no to lose focus.
Method two implements a WndProc override to process WM_NCACTIVATE and selectively "return" false to keep focus.
Both methods do not stop the new MDI Form from coming to the foreground. The active form is forced to the front with BringToFront.
Checksums:
MD5: 762BF1E88201B8F380E28B79BA6E2E21
SH1: 3589B796E30FE88CBCEEE37FECEF4180780F513C