?
Als erstes würde ich mal einen Splitterbalken einsetzen, wie z.B. im Outlook realisiert (gefällt mir persönlich besser).
zu 1. "WM_SIZE" abfangen und alle Controls mittels
hdpd = BeginDeferWindowPos(...);
hdpd = DeferWindowPos(hdpd, .......);
hdpd = DeferWindowPos(hdpd, .......);
hdpd = DeferWindowPos(hdpd, .......);
hdpd = DeferWindowPos(hdpd, .......);
EndDeferWindowPos(hdpd);
resizen
zu 3. "WM_MOUSEMOVE" abfangen und vor dem Zeichnen des Splitterbalkens die Entfernung zur Oberkannte des Statusfensters prüfen und bei Unterschreitung das Zeichnen des Splitterbalkens unterbinden. An dieser Stelle die zuletzt gezeichnete Position speichern. Nun "WM_LBUTTONUP" abfangen. Die Grössenänderung der Fenster würde ich erst jetzt auslösen, dann flackert es am wenigsten.