Delphi - Comment contrôler l'ordre Z de TOpenDialog
-
06-07-2019 - |
Question
J'ai une boîte de dialogue modale créée avec les éléments suivants:
procedure TFormCompose.createParams(var Params: TCreateParams);
begin
inherited createParams(Params);
with Params do begin
exStyle:=exStyle or WS_EX_APPWINDOW;
wndParent:=getDesktopWindow;
end;
end;
Dans ce formulaire, je crée une instance de TOpenDialog. Lorsqu'il s'ouvre, il envoie mon premier dialogue modal derrière la fenêtre principale de l'application.
Existe-t-il un moyen d’ouvrir le TOpenDialog sans affecter l’ordre Z du dialogue modal?
Merci!
La solution
Quelle version de Delphi utilisez-vous? Delphi 2007 et les versions supérieures ajoutent un TOpenDialog.Execute (ParentWnd: HWND) surchargé; transmettre le descripteur de votre boîte de dialogue modale en tant que ParentWnd lors de l'appel de Execute () peut aider.
Pour toute référence future, assurez-vous de spécifier quelle version de Delphi. Les réponses appropriées à Delphi 2009, par exemple, ne vous seraient pas d'une grande utilité si vous utilisiez Delphi 5 et constitueraient une perte de temps pour la personne qui fournit la réponse.