Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

redimentionner page VB

6 réponses
Avatar
infomaroc
bonjour,
j'ai une page VB qui contient une frame et à l'interieur y'a un webbrowser
et un boutton ,je veux que le webbrowser ou la frame en general se
redimenssionne en fonction de la taille de la page
j'ai mis :
Private Sub Form_Resize()
Frame1.Move 0, 0, Me.Width, Me.Height
End Sub
mais ca nme donne rien!
merci dm'aider

6 réponses

Avatar
Josselin JOUANNET
Bonjour,
Essai ça

Private Sub Form_Resize()
If Me.ScaleWidth > 100 Then
brwWebBrowser.Width = Me.ScaleWidth - 100
End If
If Me.ScaleHeight > 100 Then
brwWebBrowser.Height = Me.ScaleHeight - 100
End If
End Sub
--
Cordialement
Joss


"infomaroc" a écrit :

bonjour,
j'ai une page VB qui contient une frame et à l'interieur y'a un webbrowser
et un boutton ,je veux que le webbrowser ou la frame en general se
redimenssionne en fonction de la taille de la page
j'ai mis :
Private Sub Form_Resize()
Frame1.Move 0, 0, Me.Width, Me.Height
End Sub
mais ca nme donne rien!
merci dm'aider



Avatar
Driss HANIB
il faut aussi sans doute tenir compte de la position de ton webbrowser dans
ton frame et de celle de ton frame dans ta feuille.
vérifie aussi que tu as bien le même scalemode entre ta frame et ta feuille.
et tu dois aussi, comme te le marque Josselin, sans doute faudra-t-il faire
une correction 'a la mano' pour compenser la hauteur du 'caption' de la
feuille et créer un petit écart entre ton webbrowser et les bords de la
feuille.
d'ailleurs n'oublie pas (;o)) que tu dois aussi redimensionner le frame dans
lequel tu as mis ton controle..


"infomaroc" a écrit dans le message de
news:
bonjour,
j'ai une page VB qui contient une frame et à l'interieur y'a un webbrowser
et un boutton ,je veux que le webbrowser ou la frame en general se
redimenssionne en fonction de la taille de la page
j'ai mis :
Private Sub Form_Resize()
Frame1.Move 0, 0, Me.Width, Me.Height
End Sub
mais ca nme donne rien!
merci dm'aider



Avatar
Fred
dans : news:
Driss HANIB disait :
il faut aussi sans doute tenir compte de la position de ton
webbrowser dans ton frame et de celle de ton frame dans ta feuille.
vérifie aussi que tu as bien le même scalemode entre ta frame et ta
feuille. et tu dois aussi, comme te le marque Josselin, sans doute
faudra-t-il faire une correction 'a la mano' pour compenser la
hauteur du 'caption' de la feuille et créer un petit écart entre ton
webbrowser et les bords de la feuille.
d'ailleurs n'oublie pas (;o)) que tu dois aussi redimensionner le
frame dans lequel tu as mis ton controle..



Bonsoir,
N'y a-t-il pas des propriétés ClientWidth et ClientHeight qui donnent
les dimensions de la zone intérieure de la feuille ?

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Avatar
Fred
Dans : news:,
Fred disait :

Bonsoir,
N'y a-t-il pas des propriétés ClientWidth et ClientHeight qui donnent
les dimensions de la zone intérieure de la feuille ?




Comme ma mémoire me joue des tours, je m'y colle pour une solution
complète.
Donc pas de ClientWidth et ClientHeight, mais bien sûr ScaleWidth et
ScaleHeight.
D'autre part, cela n'existe pas pour le frame.
Donc le problème est de positionner le webbrowser sous le caption du
frame.
Comme cela dépend de la taille de police choisie, j'ai posé un petit
picturebox invisible nommé P qui me sert à calculer la hauteur du
caption à l'aide de sa méthode textheight.
F désigne le frame
W : le webbrowser

margin est l'espace entre le bord de la fenêtre et le frame
padding est l'espace entre le bord du frame et le webbrowser

Private Sub Form_Resize()
margin = 100
padding = 100
P.Font.Size = F.Font.Size
F.Top = margin
F.Left = margin
F.Width = Me.ScaleWidth - 2 * margin
F.Height = Me.ScaleHeight - 2 * margin
W.Top = P.TextHeight(F.Caption) + padding
W.Left = padding
W.Width = F.Width - 2 * padding
W.Height = F.Height - P.TextHeight(F.Caption) - 2 * padding
End Sub

Ne restent à placer que quelques petits tests ici et là pour éviter les
erreurs.
On peut ajuster un peu mieux la hauteur car le textheight est généreux
semble-t-il (ne pas lui aditionner le padding pour W.Top par exemple)

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Avatar
Driss HANIB
je n'ai pas tout regardé encore ta méthode, mais au lieu de mettre un
picturebox invisible, tu peux, en mettant la meme police dans la form,
récupérer également le textwidth et le texheight correspondant..


"Fred" a écrit dans le message de
news:
Dans : news:,
Fred disait :

> Bonsoir,
> N'y a-t-il pas des propriétés ClientWidth et ClientHeight qui donnent
> les dimensions de la zone intérieure de la feuille ?


Comme ma mémoire me joue des tours, je m'y colle pour une solution
complète.
Donc pas de ClientWidth et ClientHeight, mais bien sûr ScaleWidth et
ScaleHeight.
D'autre part, cela n'existe pas pour le frame.
Donc le problème est de positionner le webbrowser sous le caption du
frame.
Comme cela dépend de la taille de police choisie, j'ai posé un petit
picturebox invisible nommé P qui me sert à calculer la hauteur du
caption à l'aide de sa méthode textheight.
F désigne le frame
W : le webbrowser

margin est l'espace entre le bord de la fenêtre et le frame
padding est l'espace entre le bord du frame et le webbrowser

Private Sub Form_Resize()
margin = 100
padding = 100
P.Font.Size = F.Font.Size
F.Top = margin
F.Left = margin
F.Width = Me.ScaleWidth - 2 * margin
F.Height = Me.ScaleHeight - 2 * margin
W.Top = P.TextHeight(F.Caption) + padding
W.Left = padding
W.Width = F.Width - 2 * padding
W.Height = F.Height - P.TextHeight(F.Caption) - 2 * padding
End Sub

Ne restent à placer que quelques petits tests ici et là pour éviter les
erreurs.
On peut ajuster un peu mieux la hauteur car le textheight est généreux
semble-t-il (ne pas lui aditionner le padding pour W.Top par exemple)

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT



Avatar
Fred
Dans : news:,
Driss HANIB disait :
je n'ai pas tout regardé encore ta méthode, mais au lieu de mettre un
picturebox invisible, tu peux, en mettant la meme police dans la form,
récupérer également le textwidth et le texheight correspondant..



Oui, j'y ai pensé, mais je ne voulais pas interférer avec des éléments
existants.
En y réfléchissant, c'était idiot puisque le frame recouvre de toute
façon l'intégralité de la feuille :-)
Quand tu auras jeté un ½il, peut-être auras-tu une idée du pourquoi le
textheight est si généreux ?
Cela reste de la bidouille. Il est bizarre ce contrôle frame, pas de
zone client ni de scale... alors qu'il est supposé contenir d'autres
contrôles (?). J'opterais pour sa suppression !

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT