J'utilise Delphi 4. J'ai un formulaire principal avec un bouton qui crée dynamiquement un nouveau formulaire. Je voudrais que le nouveau formulaire soit visible, mais qu'il apparaisse derrière le formulaire principal. J'ai essayé d'appeler SendToBack()
immédiatement après FormCreate()
. Mais cela fait que la fenêtre scintille rapidement avant d'être renvoyée. J'ai essayé de rendre le formulaire invisible, puis SendToBack()
, puis Visible := true
. Mais la nouvelle forme est toujours à l'avant. Il semble que SendToBack()
ne fonctionne qu'avec des formes visibles? Comment puis-je faire apparaître le formulaire derrière le formulaire principal?Delphi - Créer une forme derrière un autre formulaire
3
A
Répondre
0
faire la deuxième fenêtre (par exemple form2) invisible, puis appelez:
showWindow(form2.handle,SW_SHOWNOACTIVATE);
-Don
1
Cela a fonctionné pour moi:
SetWindowPos(newform.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_SHOWWINDOW
or SWP_NOMOVE or SWP_NOOWNERZORDER or SWP_NOSIZE or SWP_NOACTIVATE);
newform.Visible := true;
Merci pour l'aide!
Merci, mais cela n'a pas fonctionné. si j'appelle ShowWindow (newform.handle, SW_SHOWNOACTIVATE), puis newform.Visible: = true. Ça sort toujours devant. – Clement
pourquoi appeler newform.visible: = true; ? Si vous laissez cela, cela devrait fonctionner. –
Plus tard, je vérifie "if (newform.visible) puis fais-stuff;". Mais en utilisant showWindow() sans le visible: = true, la propriété visible semble être fausse. – Clement