Composant apparant dans différentes tab de sstab

DJ_FleX Messages postés 29 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 8 février 2007 - 25 janv. 2006 à 12:51
m2rtech Messages postés 239 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 20 février 2012 - 14 févr. 2006 à 19:09
Bonjour,

Alors je fais un petit chat serveur/client et pour les messages privés j'ai choisi d'utilisé des onglets, j'ai rechercher sur vbfrance et apparement les sstab c'est ce qu'il y a de mieux.
Mon probleme est que lorsque je charge un nouveau composant, celui-ci apparait dans tous les tab :( comment faire pour qu'il soit que dans la tab dans lequel il a été loadé ?

code actuel :

Dim iIndex As Integer
Dim iperrow As Integer
iIndex = SSTab.Tabs
SSTab.Tabs = iIndex + 1
iperrow = iIndex + 1
Load Frame1(iIndex)
Frame1(iIndex).Visible = True

SSTab.Tab = iIndex
SSTab.TabsPerRow = iperrow
SSTab.TabCaption(iIndex) = PS2

Set Frame1(iIndex).Container = SSTab
Frame1(iIndex).Move 90, SSTab.TabHeight + 90
Frame1(iIndex).Height = 6600
Frame1(iIndex).Width = 12615

6 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
25 janv. 2006 à 18:37
Salut
Load Frame1(x) fait bien apparaitre le Frame sur l'onglet actuellement sélectionné. Pas de soucis à condition que Frame1(0), qui sert de base, ait été installé sur le SSTab, peu importe l'onglet d'ailleurs..

Par contre, il existe un bug du composant SSTab :
Il ne faut pas le manipuler dans la procédure Form_Load sinon, ça peut faire des choses bizarres comme ce que tu expliques.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
25 janv. 2006 à 19:50
Frame1(0) n'a pas besoin d'être dans le SStab

dans le Form-Load l'onglet sélectionné sera celui à l'origine

par contre je te conseille de modifier .TabsPerRow avant .Tabs, sinon
tes contrôles précédents risque de changer leur position Top





iIndex = SSTab.Tabs

iperrow = iIndex + 1



SSTab.TabsPerRow = iperrow

SSTab.Tabs = iperrow

etc ...

Daniel
0
DJ_FleX Messages postés 29 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 8 février 2007
27 janv. 2006 à 15:16
Je vais vous réexpliquer mon problème. Les composants (frame, textbox etc...) que je charge dans la nouvelle tab apparait aussi dans la tab de base(au dessus de tout le reste) lorsque je veux y retourner dessus. Comment faire pour que lorsque je charge un nouveau composant dans une nouvelle tab, qu'il évite de rester en premier plan lorsque j'essaye de changer de tab.
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 janv. 2006 à 16:48
Re
Dans quelle procédure fais-tu tes manipulations de composants ?
Si c'est dans Form_Load : Il faut déplacer ce code ailleurs, dans un Timer par exemple que tu arrête dès que l'initialisation est terminée.
Il est possible aussi que, lorsque tu changes d'onglet, le système n'ait pas le temps de l'afficher avant que tu fasse ton Load --> Ajoute un DoEvents après chaque manip sur le changement d'onglet.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DJ_FleX Messages postés 29 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 8 février 2007
28 janv. 2006 à 18:49
Re
Alors non ce n'est pas dans la procedure form_load que je manipule les composants. Mais le probleme provenait seulement des frames, j'les ai donc supprimer et simplement mis les richtextbox, bouton etc ...

Il me reste un probleme au niveau des boutons des tab mais j'vé le réglé tt seul enfin sinon j'vous écrirai un message ^^
0
m2rtech Messages postés 239 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 20 février 2012
14 févr. 2006 à 19:09
Salut,
dans chaque onglet de ton SSTAB dessine un controle FRAME.
dans ta procédure Form_Resize ajuste le frame pour qu'il se cale
à ton sstab.
puis place les autres controles DANS les frames.
Le controle frame n'est pas assujettie à ce bug !!?
Le fait que les autres controles soient encapsulés dans le frame
cela resoud le bug !!!
0
Rejoignez-nous