Récuperer dimension fenetre

Résolu
irvine31 Messages postés 23 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 28 juin 2012 - 24 juin 2012 à 21:10
ucfoutu Messages postés 18038 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

10 réponses

Utilisateur anonyme
24 juin 2012 à 21:39
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 
3
Utilisateur anonyme
24 juin 2012 à 21:48
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
3
Utilisateur anonyme
24 juin 2012 à 22:34
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
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
24 juin 2012 à 21:33
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
0

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

Posez votre question
irvine31 Messages postés 23 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 28 juin 2012
24 juin 2012 à 22:14
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 !
0
irvine31 Messages postés 23 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 28 juin 2012
24 juin 2012 à 22:19
Je suis bête, j'avais pas vu Width et Height
C'est tout simplement super, merci beaucoup !!!!
0
irvine31 Messages postés 23 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 28 juin 2012
24 juin 2012 à 22:26
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
24 juin 2012 à 22:37
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
0
irvine31 Messages postés 23 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 28 juin 2012
24 juin 2012 à 23:23
Super !!!
Merci à vous deux pour votre précieuse aide !!!
SUJET RÉSOLU !
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
24 juin 2012 à 23:43
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
0
Rejoignez-nous