Taille en hauteur de la barre Démarrer

Résolu
malhivertman1 Messages postés 489 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 22 novembre 2007 - 4 janv. 2006 à 12:06
malhivertman1 Messages postés 489 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 22 novembre 2007 - 5 janv. 2006 à 09:19
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

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
4 janv. 2006 à 13:19
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
malhivertman1 Messages postés 489 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 22 novembre 2007 1
4 janv. 2006 à 12:40
En fait, en gros, il me faut le hauteur de la barre Démarrer et tout ira bien
++
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
4 janv. 2006 à 13:05
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
0
malhivertman1 Messages postés 489 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 22 novembre 2007 1
4 janv. 2006 à 13:13
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

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malhivertman1 Messages postés 489 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 22 novembre 2007 1
4 janv. 2006 à 15:22
Merci, reponse parfaite Gobillot
++
0
malhivertman1 Messages postés 489 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 22 novembre 2007 1
4 janv. 2006 à 15:57
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....
++
0
malhivertman1 Messages postés 489 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 22 novembre 2007 1
4 janv. 2006 à 16:38
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

++
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
4 janv. 2006 à 17:16
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
0
malhivertman1 Messages postés 489 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 22 novembre 2007 1
5 janv. 2006 à 09:19
Merci, la c'est parfait
++
0
Rejoignez-nous