Tabbed dialog

Résolu
cs_pixie13 Messages postés 7 Date d'inscription lundi 17 octobre 2005 Statut Membre Dernière intervention 9 novembre 2005 - 7 nov. 2005 à 10:47
cs_pixie13 Messages postés 7 Date d'inscription lundi 17 octobre 2005 Statut Membre Dernière intervention 9 novembre 2005 - 9 nov. 2005 à 18:04

8 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
7 nov. 2005 à 22:02
comme les TextBox sont assez difficiles à placer,

autant le faire par calcul.

il n'y a qu'à placer un TexBox sur la feuille et non pas dans le SStab

nom: TextBox1 et index = 0

le reste est automatique.

NB: le nombre d'onglets doit être un multiple de TabsPerRow





Private Sub Form_Load()

Dim i As Integer

Dim j As Integer

Dim n As Integer

Dim W As Integer

Dim X As Integer

Dim Y As Integer

Dim z As Integer

Dim Lg As Integer

Dim Reste As Integer

Dim nCol As Integer

Dim nLig As Integer

Dim Htab As Integer



Text1(0).Alignment = vbCenter

Text1(0).Appearance = 0

Text1(0).BackColor = vbButtonFace



Me.ScaleMode = 3

nCol = SSTab1.TabsPerRow

nLig = SSTab1.Tabs / nCol

Htab = SSTab1.TabHeight

W = SSTab1.Width - nLig * 10 + 10

Y = SSTab1.Top + nLig * Htab

Lg = W \ nCol

Reste = W - Lg * nCol



For j = 1 To nLig

X = SSTab1.Left + j * 10 - 10

Y = Y - Htab

z = 1

For i = 1 To nCol

If n > 0 Then Load Text1(n)

If i nCol Then z Reste

Text1(n).Move X, Y, Lg + z, Htab + 1

Text1(n).Text = "Tab " & Format$(n, "00")

Text1(n).ZOrder

Text1(n).Visible = True

X = X + Lg

n = n + 1

Next i

Next j



End Sub



Private Sub SSTab1_Click(PreviousTab As Integer)

Dim i As Integer

i = SSTab1.Tab

Text1(PreviousTab).BackColor = vbButtonFace

Text1(i).BackColor = vbRed

End Sub



Private Sub Text1_Click(Index As Integer)

SSTab1.Tab = Index

SSTab1.SetFocus

End Sub


Daniel
3
cs_pixie13 Messages postés 7 Date d'inscription lundi 17 octobre 2005 Statut Membre Dernière intervention 9 novembre 2005
7 nov. 2005 à 10:47
Salut à tous,
est ce qq1 saurait comment figer les onglets d'un tabbed dialog je m'explique quand je clique sur un onglet en deuxième ligne il passe automatiquement en première ligne et je ne veux pas ...
merci d'avance.
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
7 nov. 2005 à 14:47
je ne crois pas que ce soit possible,

étant que celui qui est sélectionné va toujours se mettre en premier plan.

conclusion: ne fait qu'une seule Ligne et t'auras pas ce problème.

Daniel
0
cs_pixie13 Messages postés 7 Date d'inscription lundi 17 octobre 2005 Statut Membre Dernière intervention 9 novembre 2005
7 nov. 2005 à 16:50
merci pour ton soutien Daniel mais j'ai 15 rubriques ...
0

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

Posez votre question
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012
7 nov. 2005 à 18:32
Si la question étais comment figer un contrôle SSTab sur un onglet voici la réponse :

Lorsque l'on essaie d'utiliser l'événement click d'un SSTab en récupérant la variable PreviousTab pour figer un onglet sur sa position initiale, on obtient une erreur 28 dépassement de pile. Une façon de contourner le problème est la suivante.

Pour cet exemple il faut placer sur une form (form1) un contrôée SSTab (SSTab1) et un checkbox (Check1) et mettre le code suivant dans l'événement Click de Check1

Private Sub Check1_Click()
Dim i As Integer
If Check1.Value = vbUnchecked Then
For i = 0 To SSTab1.Tabs - 1
If SSTab1.Tab <> i Then SSTab1.TabEnabled(i) = False
Next i
Else
For i = 0 To SSTab1.Tabs - 1
SSTab1.TabEnabled(i) = True
Next i
End If
End Sub

Pascal Laurençon
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
7 nov. 2005 à 19:16
Résultats de mes cogitations:



- j'ai d'abord mis des Labels sur chaque onglet

à l'intérieur du SStab sinon ils sont cachés derrière

malheureusement, les Labels changent de postion en même temps

il faudrait modifier les onglets correspondants ligne par ligne

pas impossible, mais assez chiant



- donc j'ai pris des TextBox extérieur à SStab

groupe de TexBox de 0 à 14

apparance=Flat, Locked=True, BackColor=buttonFace, etc..

on peut même changer les couleurs.

chaque TextBox cachant un onglet

on ne peut donc plus cliquer sur un onglet, mais on clique sur un TextBox

à la place, et on sélectionne l'onglet correspondant.



Private Sub Text1_Click(Index As Integer)

SSTab1.Tab = Index

SSTab1.SetFocus

End Sub


Daniel
0
cs_pixie13 Messages postés 7 Date d'inscription lundi 17 octobre 2005 Statut Membre Dernière intervention 9 novembre 2005
9 nov. 2005 à 17:54
Ok Daniel je vois la ruse je m'en vais essayer.
Merc pour l'aide.
0
cs_pixie13 Messages postés 7 Date d'inscription lundi 17 octobre 2005 Statut Membre Dernière intervention 9 novembre 2005
9 nov. 2005 à 18:04
Ok merci pour tout bonne soirée à tous
0
Rejoignez-nous