docs(fillbar): la barre des taches active passe devant, mesures a l'appui

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-09-22 15:56:58 +01:00
parent 1ae1d482f0
commit 29d569c7ba
+14
View File
@@ -262,6 +262,20 @@ Détails :
`TrackPopupMenu`, qui est modal) : le menu déroulant est lui aussi dans la `TrackPopupMenu`, qui est modal) : le menu déroulant est lui aussi dans la
bande `TOPMOST`, et se faisait donc recouvrir par la barrette qui venait de bande `TOPMOST`, et se faisait donc recouvrir par la barrette qui venait de
l'ouvrir. l'ouvrir.
- **Posée SUR la barre des tâches, elle disparaît quand celle-ci est active**
(clic sur Démarrer, clic sur la barre) et revient au premier clic sur une
autre fenêtre. Mesuré le 2026-09-22 : la barrette reste au bon endroit,
au-dessus de `Shell_TrayWnd` dans l'ordre des fenêtres, et n'est pas masquée
par DWM (`DWMWA_CLOAKED` = 0) — elle n'est simplement plus dessinée. La barre
des tâches active occupe une **bande réservée au shell**, au-dessus de tout
`TOPMOST` ordinaire. Deux contournements essayés, tous deux sans effet :
`NOTOPMOST` puis `TOPMOST` (les appels rendent True), et le même avec
`AttachThreadInput` sur le fil de la barre des tâches. Seul `uiAccess=true`
(exe signé, dans `C:\Program Files\`) y accède. **Assumé** : l'utilisateur a
choisi de garder sa position plutôt que d'être remonté automatiquement
(2026-09-22). Le battement ne redemande donc `TOPMOST` que lorsque le centre
de la barrette appartient à une autre fenêtre — utile contre les autres
fenêtres `TOPMOST`, impuissant contre le shell.
- **Traîner depuis un bouton** : les boutons sont subclassés (`GWLP_WNDPROC`, - **Traîner depuis un bouton** : les boutons sont subclassés (`GWLP_WNDPROC`,
une seule proc d'origine — même classe). Sur `WM_LBUTTONDOWN`, **`DragDetect`** une seule proc d'origine — même classe). Sur `WM_LBUTTONDOWN`, **`DragDetect`**
tranche entre clic et glissement en respectant le seuil réglé par tranche entre clic et glissement en respectant le seuil réglé par