Taille reellle d'une form (contenu)

Contenu du snippet

Voila la solution (j'ai pas testé avec plusieurs styles visuels, mais logiquement ca doit marcher), pour connaitre la taille du contenu d'une form.
Vous l'aurez peut etre remarqué
form.width et form.height renvoient la taille avec toutes les bordures et titres de la fenetre. Conséquence si vous voulez qu'un controle prenne exactement, par exemple, la largeur de la form il vous faudra utiliser le code suivant :

controle.width=form.width - 400
ssi vous ne mettez pas le 400 (arbitraire), le controle sera plus grand que la form, et n'apparaitra pas entierement, car la taille du contenu de la fenetre est plus petite que la fenetre :p

voila donc la methode pour recupere cette taille plus petite.

Source / Exemple :


Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Const SM_CYCAPTION = 4 'Height of windows caption
Const SM_CXBORDER = 5 'Width of no-sizable borders
Const SM_CYBORDER = 6 'Height of non-sizable borders
Const SM_CXDLGFRAME = 7 'Width of dialog box borders
Const SM_CYDLGFRAME = 8 'Height of dialog box borders

Public Function GetFormContenairWidth(Form_ As Form)
    GetFormContenairWidth = Form_.Width - GetSystemMetrics(SM_CXDLGFRAME) * 15 * 2 - GetSystemMetrics(SM_CXBORDER) * 15 * 2
End Function
Public Function GetFormContenairHeight(Form_ As Form)
    GetFormContenairHeight = Form_.Height - GetSystemMetrics(SM_CYCAPTION) * 15 - GetSystemMetrics(SM_CYDLGFRAME) * 15 * 2 - GetSystemMetrics(SM_CYBORDER) * 15 * 2
End Function

Conclusion :


Utilisez ces 2 methodes ainsi :

controle.width=GetFormContenairWidth(Form)
controle.height=GetFormContenairHeight(Form)

et la quelque soit le systeme (normalement compatible 95/98/nt/xp) le controle rentrera entierement dans la form, et quelque soit le style visuel utilisé dans XP

voila
j'espere ca vous aidera :p
++

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.