Panels et BringToFront : lequel est visible ?

Résolu
drexl Messages postés 56 Date d'inscription mardi 13 février 2007 Statut Membre Dernière intervention 22 juillet 2014 - 7 mai 2014 à 15:40
drexl Messages postés 56 Date d'inscription mardi 13 février 2007 Statut Membre Dernière intervention 22 juillet 2014 - 8 mai 2014 à 07:41
Bonjour,

pour mon exemple, j'utilise un panel0, avec a l'intérieur un panel1 et un panel2
ces 2 derniers sont en
align:=alClient
pour les afficher, je fais

panel1.BringToFront;

ou
panel2.BringToFront;

A chaque panel1 et panel2, j'associe un filtre dans un "FilterComboBox"

Si j'utilise la fonction "Visible" des Panel1 et Panel2, ils ont tous les 2 visibles

Ma question est de savoir a tout moment, lorsque je revient sur Panel0, lequel des Panel1 et Panel2 est devant l'autre pour affecter le bon filtre a "FilterComboBox" ?


Par avance, merci de vos lumieres.



PS : Win7 et delphi 2007

--

2 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
7 mai 2014 à 16:54
Salut,

tout simplement comme ceci:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if GetTopWindow(Panel0.Handle) = Panel1.Handle then
    Label1.Caption := 'c''est le Panel1 qui est devant'
  else
    Label1.Caption := 'c''est le Panel2 qui est devant';
end;

0
drexl Messages postés 56 Date d'inscription mardi 13 février 2007 Statut Membre Dernière intervention 22 juillet 2014
8 mai 2014 à 07:41
Merci Cirec

Simple et fonctionnel.

--
0
Rejoignez-nous