J'ai deux ordinateurs dont les caractéristiques techniques sont les suivantes:
- Un Windows XP -> 1440 x 900 et Screen.width -> 21.600 x 13.500
- Un Windows 8 -> 1600 x 900 et Screen.width -> 24000 x 13500.
Lorsque que souhaite centrer mes forms, j'utilise l'instruction suivante:
Bonjour,
mis à part le fait que la propriété dont parle cs_Le Pivert (que je salue) existe également sous bVB6 sous le nom de StartUpPosition :
La méthode que tu utilises, à savoir :
a un défaut majeur, car la propriété Width de l'objet Screen est en échelle de Pixels alors que par défaut (si le scale mode n'a pas été fixé en pixels ou autre unité logique ) , la propriété Width de ton Form est en échelle de Twips !
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
vb95
Messages postés3416Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention31 mai 2023165 26 janv. 2017 à 14:49
bonjour à tous
une précision sur la propriété StartUpPosition : celle-ci ne serait effective qu'au chargement de le Form en VBNet ( voir http://codes-sources.commentcamarche.net/forum/affich-10069581-formstartposition) Il est possible qu'il en soit de même en VB 6 ( je ne l'ai pas donc je ne peux pas vérifier)
De toute façon si c'est au chargement de la Form autant le définir en mode Design en agissant dans le fenêtre "Propriétés" de la Form sur la propriété adéquate et non par code au Form_Load de cette Form
J'ai testé ce projet sur des ordinateurs XP et Vista avec des résolutions différentes:
- 1024 x 768 - 1280 x 768 - 1280 x 800 - 1440 x 900
- 1920 x 1080.
Sur ces ordinateur, l'affichage est correcte.
Ce n'est qu'en Windows 8 -> 1600 x 900 que les forms sont affichées à GAUCHE.
En changeant le Scalemode des Forms (en Pixel) l'affichage est complètement bouleversé.
Merci Mr ucfoutu
vb95
Messages postés3416Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention31 mai 2023165 26 janv. 2017 à 16:06
bonjour Cpapy
Centres-tu ta Form par code ou par la fenêtre de propriétés de ta Form ?
Dans l'essai que j'ai fais, j'ai laissé l'instruction Me.move ...........
derrière Private Sub Form_Load()
et j'ai modifié les Scalemode par les fenêtres de Propriétés des forms
Encore Merci.
vb95
Messages postés3416Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention31 mai 2023165 Modifié par vb95 le 26/01/2017 à 17:30
A tester
1) Enlève toute l'instruction Me.Move dans le Form_Load
2) Passe en mode Design ( affichage de la Form)
3) Fais un clic droit avec la souris sur la form ( pas sur un contrôle de la Form)
4) tu vois apparaître une fenêtre "Propriétés"
5) Cherches dans cette liste StartUpPosition
6) Mets cette propriété sur Center ou CenterForm
7) Remets ScaleMode en Twips ( propriété par défaut)
8) Redémarre ton projet
Si c'est au chargement de la Form autant centrer cette Form par la fenêtre des Propriétés : pourquoi écrire du code pour cela
Vous n’avez pas trouvé la réponse que vous recherchez ?