Seth77
Messages postés572Date d'inscriptionmardi 30 avril 2002StatutMembreDernière intervention 4 mai 2020
-
2 juin 2005 à 15:30
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 2019
-
3 juin 2005 à 22:47
Slu
comment faire pour dimenssionner une fenetre en fonction de la position d un controle sans ajout de valeur fixe ?
Seth77
Messages postés572Date d'inscriptionmardi 30 avril 2002StatutMembreDernière intervention 4 mai 20201 2 juin 2005 à 17:26
j ai trouve ca :
Private Const
STATE_SYSTEM_FOCUSABLE = &H100000
Private Const STATE_SYSTEM_INVISIBLE =
&H8000
Private
Const STATE_SYSTEM_OFFSCREEN = &H10000
Private Const
STATE_SYSTEM_UNAVAILABLE = &H1
Private Const STATE_SYSTEM_PRESSED =
&H8
Private Const CCHILDREN_TITLEBAR =
5
Private Type
RECT
Left As
Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Type
TITLEBARINFO
cbSize As Long
rcTitleBar As
RECT
rgstate(CCHILDREN_TITLEBAR) As Long
End Type
Private Declare Function
GetTitleBarInfo Lib "user32.dll" (ByVal hwnd As Long, ByRef pti As TITLEBARINFO) As Long
Private Sub Form_Load()
'KPD-Team
2001
'URL:
http://www.allapi.net/ 'E-Mail:
KPDTeam@Allapi.net
Dim TitleInfo As TITLEBARINFO
'Initialize
structure
TitleInfo.cbSize = Len(TitleInfo)
'Retrieve
information about the tilte bar of this window
GetTitleBarInfo
Me.hwnd, TitleInfo
'Show some of that
information
Me.Caption = CStr(TitleInfo.rcTitleBar.Bottom - TitleInfo.rcTitleBar.Top) *
Screen.TwipsPerPixelY
End Sub
Seth77
Messages postés572Date d'inscriptionmardi 30 avril 2002StatutMembreDernière intervention 4 mai 20201 3 juin 2005 à 13:47
???
comment vous faites pour redimenssionner les controles en fonction de
la taille de la fenetre ...j ai toujours un "prob" avec la valeur de la
taille de la grille des form ? est ce que cette valeur peut changer en
fonction du pc ???
parce que il faut toujours que je retire 2 fois la taille de la grille
pour eviter que le controlle ne colle au bord de la fenetre .
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 3 juin 2005 à 20:48
tu dois pas t'occuper des bordures.
taille nouvelle du contrôle (Left/Width ou Top/Height) = taille de
référence du contrôle * taille nouvelle de la fenêtre (ScaleWidth ou
ScaleHeight) / taille de référence de la fenêtre.
la taille de référence c'est celle que tu as à la création.
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 3 juin 2005 à 22:47
dans le cas où les autres contrôles changent de taille, oui faut en tenir compte.
calculer d'abord ceux qui dépendent pas des autre, puis ensuite ceux qui dépendent
mais bon pourquoi un Bouton changerait de taille ?
pour la ListView c'est pratique plus il y a de place et plus il y a de
Lignes visibles, d'autres controles aussi sont intéressants comme un
Label, mais pourquoi changer la Hauteur, si on change pas la police.
c'est une question de gout bien sûr, mais si on veut tout
redimentionner, il faut le faire au ratio, si la fenêtre double en
Largeur, tous les contrôles doublent aussi.
le ratio se détermine au début:
RatioX = nouveau Me.ScaleWidth / ancien Me.ScaleWidth
RatioY = nouveau Me.ScaleHeight / ancien Me.ScaleHeight
il faut se rappeler de toutes les anciennes tailles des contrôles,
c'est facile puisque c'est ceux qu'on a actuellement, mais si on veut
le faire dans une boucle, il faut les mettre dans une table, on peut
les mettre aussi dans le tag mais c'est pas si évident,