Taille en hauteur de la barre Démarrer

[Résolu]
Signaler
Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007
-
Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007
-
Bonjour,

En fait, j'ai une feuille qui s'ouvre lorsque j'appuis sur un bouton et elle s'ouvre en descendant du haut a gauche petit a petit jusqu'a ce qu'on la voit en entiere (c'est une petite fenetre).
Mais en fait, a la place qu'elle descende d'en haut, j'aimerais pouvoir reperer la taille de la barre Démarrer en bas et la faire partir de la, comment puis-je faire pour repérer combien de haut fais la barre?

Merci
++

9 réponses

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
29
la hauteur tu l'as dans taille:

Dim Hauteur As Long

Hauteur = (Tr.Bottom - Tr.Top)

mais la barre des taches peut être absente (non visible),

ou cachée (masquage automatique)




Daniel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 70 internautes nous ont dit merci ce mois-ci

Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007

En fait, en gros, il me faut le hauteur de la barre Démarrer et tout ira bien
++
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
29
Private Type RECT

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type



Private Declare Function FindWindow Lib "user32" Alias "FindWindowA"
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long

Private Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long





Private Sub Command1_Click()

Dim hhh As Long

Dim Tr As RECT

hhh = FindWindow("Shell_TrayWnd", vbNullString)

GetWindowRect hhh, Tr

MsgBox "visible= " & (IsWindowVisible(hhh) <> 0)

MsgBox "cachée= " & (Tr.Bottom > Screen.Height / 15)

MsgBox "taille= " & Tr.Right - Tr.Left & "x" & Tr.Bottom - Tr.Top

End Sub


Daniel
Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007

Merci pour ton code mais en fait j'aimerais juste une fonction qui me donne la hauteur de la barre des taches, c'est tout

++
Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007

Merci, reponse parfaite Gobillot
++
Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007

En fait, finalement le chiffre qui sort, c'est la hauteur en pixel, non?
Comment je fais pour qu'il soit proportionnel a, par exemple, screen.height parce que la, ca ne me donne pas la hauteur de la barre des taches sur l'ecran....
++
Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007

Aussi je vois que a la place de tout le code pour la hauteur de la barre des taches, GetTaskBarInformation.Height suffit
Mais mon probleme reste entier

++
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
29
c'est quoi ça GetTaskBarInformation.Height

c'est du net ?

sinon pour transformer les Pixels en Twips tu multiplies par Screen.TwipsPerPixelY

qui doit être égal à 15





PS: note que la barre des tâches n'est pas forcément en bas.


Daniel
Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007

Merci, la c'est parfait
++