andalo
Messages postés102Date d'inscriptionlundi 23 avril 2007StatutMembreDernière intervention20 octobre 2012
-
30 juin 2008 à 22:06
andalo
Messages postés102Date d'inscriptionlundi 23 avril 2007StatutMembreDernière intervention20 octobre 2012
-
1 juil. 2008 à 09:12
Bonjour,
j'ai un souci lors du redimenssionnement d'un controle SSTab
J'utilise d'abord une procedure pour stocker les dimenssions et les positions de chaque controle.
Or en verifiant cette procedure je me suis rendu compte que seules les données concernant l'onglet selectioné lors de le mise en route de l'appli sont cohérente
pour les controles compris dans les autres onglet le .left est de l'ordre de -70000 twips.
J'ai essayé de changer l'onglet avant de memoriser les positions, (c'est a dire que je change d'onglet pour selectionner celui ou se trouve le controle) mais ca ne change rien.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 30 juin 2008 à 23:54
Salut
Oui, c'est normal quand on connait le fonctionnement d'un SSTab :
En fait, quand tu cliques sur un onglet, le composant déplace les objets de l'ancien onglet vers la gauche, à une adresse négative donc invisible + Il remet les bonnes coordonnées X aux objets qu'il faut maintenant afficher dans le nouvel onglet.
C'est déroutant, n'est ce pas (je suis passé par là aussi, lol)
Règle avec les SSTab : Ne jamais toucher aux coordonnées Left (ni Top) des objets qu'il renferme.
Mais alors, comment qu'on fait-y donc ?
La solution : Il te suffit, avant d'insérer tes boutons et autres TextBox, de placer une Frame ou une PictureBox sur l'onglet, puis tu installes tes composants à l'intérieur de ce container.
Tu peux le faire après coup : Tu places une Frame sur ton onglet, puis tu sélectionnes tous les objets de l'onglet (sauf la Frame, bien sûr), et tu fais un Couper + Sélection de la Frame + Coller.
De cette manière, on ne touche jamais à la coordonnée X des Frames qui, lors d'un Resize, ne changent pas de place, mais on ne touche à sa largeur et hauteur.
Ensuite, pour les composants qu'elle renferme, leur position est relative à la Frame, c'est à dire que leur position se calcule par rapport aux bords de la Frame qui les acceuille.
De cette manière, même si la Frame est rendue invisible par décalage en X négatif, les composants qu'elle renferme ne changent pas de place dans l'absolu.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)