Récuperer dimension fenetre [Résolu]

Messages postés
23
Date d'inscription
samedi 10 avril 2010
Statut
Membre
Dernière intervention
28 juin 2012
- - Dernière réponse : ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 24 juin 2012 à 23:43
Bonjour,
Tout est dans le titre
Vous connaissez SetWindowPos ?
Moi je cherche GetWindowPos, seulement sa n'existe pas ...
Donc si vous avez une alternative, je suis preneur
Merci pour vos futurs suggestion
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
3
Merci
Bonsoir,

Utilise l'api GetWindowRect

<DllImport("user32.dll")> _
Private Shared Function GetWindowRect(ByVal hWnd As IntPtr, ByRef lpRect As Rectangle) As IntPtr
End Function

Après avoir importé Interopservices :
Imports System.Runtime.InteropServices

On stocke le résultat dans un Rectangle (lpRect) déclaré précédement :
Dim MonRectangle as new Rectangle 

Dire « Merci » 3

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

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

Commenter la réponse de Utilisateur anonyme
3
Merci
Je t'ai fait un petit exemple ici :
Imports System.Runtime.InteropServices
Public Class Form1
    <DllImport("user32.dll")> _
    Private Shared Function GetWindowRect(ByVal hWnd As IntPtr, ByRef lpRect As Rectangle) As IntPtr
    End Function
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim rect As New Rectangle
        GetWindowRect(Me.Handle, rect)
        MessageBox.Show(String.Format("x={0} y={1} w={2} h={3}", rect.Left, rect.Top, rect.Width, rect.Height))
    End Sub
End Class

Dire « Merci » 3

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

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

Commenter la réponse de Utilisateur anonyme
3
Merci
En fait tu as raison je viens de tester.
Mais il suffit de faire :
        MessageBox.Show(String.Format("x={0} y={1} w={2} h={3}", rect.Left, rect.Top, rect.Width - rect.Left, rect.Height - rect.Top))
Retrancher left de la largeur et top de la hauteur

Dire « Merci » 3

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

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

Commenter la réponse de Utilisateur anonyme
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
207
0
Merci
Bonjour,
GetWindowPlacement ne te paraît pas suffisamment "parlant" ?



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
23
Date d'inscription
samedi 10 avril 2010
Statut
Membre
Dernière intervention
28 juin 2012
0
Merci
Merci beaucoup !
GetWindowRect est super pour ce du placement par rapport à l'écran !
Mais il me faudrait aussi pour la taille : Hauteur et largeur de la fenêtre ...
Si il existe une api qui fait ça, ce serait super !
Commenter la réponse de irvine31
Messages postés
23
Date d'inscription
samedi 10 avril 2010
Statut
Membre
Dernière intervention
28 juin 2012
0
Merci
Je suis bête, j'avais pas vu Width et Height
C'est tout simplement super, merci beaucoup !!!!
Commenter la réponse de irvine31
Messages postés
23
Date d'inscription
samedi 10 avril 2010
Statut
Membre
Dernière intervention
28 juin 2012
0
Merci
Je retire ce que j'ai dit : Width et Height ne corresponde pas à la taille de la fenêtre.
Donc si vous connaissez une API qui fait cela, je suis preneur
Commenter la réponse de irvine31
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
207
0
Merci
Un rectangle est défini par les coordonnées de ses 4 points (left, top, right et bottom)
La largeur d'un rectangle et donc tout bêtement la différence right - left et sa hauteur, tout bêtement Bottom - Top.
Et ceci : que l'on utilise la fonction GetWindowPlacement ou la fonction GetWindowRect de l'Api de Windows. Toutes deux utilises la même structure RECT (les coordonnées des 4 points d'un rectangle).




________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
23
Date d'inscription
samedi 10 avril 2010
Statut
Membre
Dernière intervention
28 juin 2012
0
Merci
Super !!!
Merci à vous deux pour votre précieuse aide !!!
SUJET RÉSOLU !
Commenter la réponse de irvine31
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
207
0
Merci
Résolu ?
Probablement pour toi et uniquement pour ton but actuel.
Pas pour moi. Du moins : pas parfaitement car la fonction utilisée, contrairement à l'autre, te retourne non les dimensions de la fenêtre dans son état "normal", mais celles de l'état dans lequel elle se trouve à un instant t (après un redimensionnement par étirement, par exemple).
Mais bon ... Tout dépend de ce que tu veux faire ...



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu