Fenetre devant la barre des taches...

bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 - 16 sept. 2007 à 19:22
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 17 sept. 2007 à 17:13
Bonjour à tous,

Mon problème est le suivant : je place une fenetre devant toutes les autres et devant la barre des taches avec "SetWindowPos(Form1.hwnd, -1, 0, 0, 0, 0, flags)". Jusque là, rien de special. Cependant, j'ai remarqué qu'en cliquant sur la barre des taches, la fenetre se replace en arriere plan avant de revenir, un certain temps apres (moins d'une seconde) devant la barre. Ma question est la suivante : comment faire pour que la fenetre reste toujours devant la barre des taches, meme si on clique sur cette meme barre ? En placant la barre des taches en arriere plan, il sera peut etre possible que ma fenetre reste devant... mais meme cela, comment le faire ?

Merci,

BILALoch

3 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
16 sept. 2007 à 19:35
salut,

la barre a ses propriétés.
l'une d'elle est de rester devant les autres fenêtres.

donc soit tu changes cette valeur (registre), soit tu fais un SetWindowPos en "toujours derrière".
handle de la taskbar => FindWindow("Shell_TrayWnd", vbNullString)

maintenant faut savoir que çà risque de déranger l'utilisateur, de changer ses propriétés ou tout au moins les effets sans sa permission.
surtout dans ce cas présent où ta form ne sera pas la seule à pouvoir passer au dessus

donc autre possibilité, dès que ta form perd le focus, tu la fais repasser devant par SetWindowPos, Me.SetFocus, Me.zorder vbbringtofront, ou setforegroundwindow Me.hwnd

et pour récupérer la perte de focus avec efficacité : ici

++
PCPT  [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 1
17 sept. 2007 à 17:08
Bonjour à toi,

Tout d'abord, merci de ta réponse. J'aimerais tout de même te demander si tu n'as pas, par hasard, la constante dont tu parles pour SetWindowPos ("toujours derriere"...).

Merci encore ^^ ,

BILALoch
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 sept. 2007 à 17:13
Private Const HWND_TOPMOST      As Long = (-1&)
Private Const HWND_NOTOPMOST    As Long = (-2&)
Private Const HWND_BOTTOM       As Long = 1&
0
Rejoignez-nous