REMPLAÇANT POUR SSTAB AVEC GESTION DES COULEURS

Xlat - 15 juin 2001 à 16:06
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 28 oct. 2014 à 12:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/1323-remplacant-pour-sstab-avec-gestion-des-couleurs

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
Modifié par cs_Jack le 28/10/2014 à 12:54
Même 13 ans après, je découvre encore de belle pépites comme cette source.
Vraiment identique au SSTab classique.
Presque pas de souci avec les objets implantés sur les Tabs.
Bien sûr, des fonctionnalités à ajouter, mais la base est solide.
Bravo.
Galactus13 Messages postés 335 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 16 août 2023 1
1 juil. 2013 à 13:11
Chapeau, magnifique.
Le seul coté négatif est de devoir faire édition.
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
12 janv. 2010 à 15:53
Bonjour,

Déjà merci pour ce control qui m'est BIEN utile (9/10) :)
Il faudrait ajouter un appel à Refresh dans la propriété Let de Style (pour voir changé le style immédiatement dans le design ;) )
Existe t'il une mise à jours incluant l'orientation ?

Bonne année :)
KrocLeBo Messages postés 18 Date d'inscription jeudi 7 juin 2001 Statut Membre Dernière intervention 19 avril 2010
30 déc. 2007 à 11:20
Hello Jhon

Tout comme le contrôle original, il faut d'abord rendre actif le tab sur lequel tu veux modifier le caption
KlbTab.CurrentTab = 1
KlbTab.Caption = "onglet2"

@ bientôt
john_pet Messages postés 8 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 22 septembre 2009
29 déc. 2007 à 22:18
Petite question

comment changer le nom d'un onglet par programmation
du genre
KlbTab.CurrentTab(1).Caption = "onglet2"
qui ne fonctionne pas

mrci
cs_gazoute Messages postés 7 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 12 août 2013
5 mars 2007 à 11:16
C'est beaucoup plus agréable que le SSTAB d'origine. Mais je regrette l'absence de la propiété PreviousTab qui permet d'empêcher l'accès à un onglet. Je l'ai remplacé par :

if KLBTab1.CurrentTab=1 Then KLBTab1.CurrentTab=0

mais ça provoque un aller et retour du Tab0 à Tab1 qui n'est pas esthétique du tout !!
Y a-t-il un autre moyen en dehors de celui d'ajouter moi-même la propriété PreviousTab au contrôle, moyen dont je ne m'en sens pas capable ?
Mew27 Messages postés 44 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 23 février 2008
31 janv. 2007 à 16:02
Ok merci :)
KrocLeBo Messages postés 18 Date d'inscription jeudi 7 juin 2001 Statut Membre Dernière intervention 19 avril 2010
31 janv. 2007 à 07:03
Hello Mew
pour le clignotement, je n'ai pas ce problème chez moi (mais ça fait longtemps que je n'ai pas utilisé ce controle, je suis passé en c# ;)

Pour le rectangle de focus, tu peux utiliser la propriété ShowFocusRect = False

@ Bientôt
Mew27 Messages postés 44 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 23 février 2008
31 janv. 2007 à 04:54
C'est bien jolie sauf que quand on clique sur les tabs ça fait un clignotement c'est pas très esthétique pour ça et puis l'espèce de carré autour du tab quand on clique comment on l'enlève ? À part cela, c'est super :)
cs_ganaya Messages postés 1 Date d'inscription vendredi 10 novembre 2006 Statut Membre Dernière intervention 10 novembre 2006
10 nov. 2006 à 14:26
Excelente..!!!!!!! amigo, desde Argentina un fuerte abrazo.....
mimmod Messages postés 1 Date d'inscription samedi 25 novembre 2000 Statut Membre Dernière intervention 26 août 2005
26 août 2005 à 17:06
fantastic
Ayoros12 Messages postés 7 Date d'inscription mercredi 24 septembre 2003 Statut Membre Dernière intervention 21 juin 2004
6 janv. 2005 à 13:37
Bonjour.
Ton code semble excellent, mais je ne connais pas trop les ctl.
Sais tu comment faire pour changer la couleur de fond du controle SStab d'origine ?
J'imagine que c'est via l'API et la commande Sendmessage.
J'ai essayé avec celle pour change la couleur d'une progressbar, mais cela ne marche pas.
Connais tu les bonnes constantes ?
Merci pour ton aide.
HeiniK0n Messages postés 9 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 15 novembre 2004
15 déc. 2004 à 10:50
salut,
c super ce controle, j'ai essayé de déployer le klbtab mais apparemment ca marche pas si tu pouvais m'envoyer l'OCX par mail ca sera génial.

nicolasnbn@hotmail.com
cs_samy56 Messages postés 39 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 27 janvier 2005
7 déc. 2004 à 10:31
salut,

ta source est super, c'est exactement ce qu'il me fallait histoire de rendre un peu moins gris mon application.

Mais j'ai trouvé un petit bug, j'ai ajouté un controle line et il apparait sur tous les onglets du fait qu'il n'a pas de proptiété left
Aurai tu une solution

merci d'avance

samy56
cs_steph44 Messages postés 50 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 4 octobre 2010
25 oct. 2004 à 10:11
Bonjour,

Je trouve ce contrôle très bien et très utile, par contre j'ai une erreur lors du lancement de l'application.
J'ai mis 5 ongles (Tabs = 5 ) puis je change "CurrentTab" pour mettre les différents objets ( pas de problème ) par contre au lancement de l'application il me sort une erreur "Erreur 343 - Cet objet n'est pas un tableau" dans la function "GetControlID"

Merci
kmoutou Messages postés 3 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 5 juillet 2005
16 juil. 2004 à 15:41
bien bien tout ca

j'ai juste un pitit souci :
comment gère tu le controle :
sstab.tabenabled(i) ??

merci

Tonton kmout
mcflysupersonic Messages postés 5 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 2 juin 2005
2 juil. 2004 à 09:37
D'accord merci Kroc j vais essayer.
KrocLeBo Messages postés 18 Date d'inscription jeudi 7 juin 2001 Statut Membre Dernière intervention 19 avril 2010
2 juil. 2004 à 06:47
La solution pour ne pas tout remetre à la main est d'éditer le fichier .frm avec un éditeur de texte (donc pas sous VB).
(faire une sauvegarde du fichier avant).
En mattant bien la structure tu peux t'y retrouver, il suffit de changer le nom du controle dans la première partie du fichier qui contient les controles et leurs propriétés.
wanirb Messages postés 5 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 1 juillet 2004
1 juil. 2004 à 11:42
oh non pos de solution, t'as pas le choix. il faut de remettre manuelement
mcflysupersonic Messages postés 5 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 2 juin 2005
30 juin 2004 à 12:50
Cela à l'air vraiment bien c'est exactement ce que je cherchais. En revanche j'ai un problème car mon programme utilise un SSTab que je voudrais remplacé par ce nouveau controle mais sans avoir à remmettre tout les objets dessus. C'est-à-dire en faisant le minimum de modification parce que je suis paresseux.
Quelqu'un aurait-il une solution ?
cs_babboss Messages postés 121 Date d'inscription vendredi 27 octobre 2000 Statut Membre Dernière intervention 29 novembre 2006
14 sept. 2003 à 17:46
hum j ai un ti PB
kan je met trop d objet ds le controle sa fait plenter VB :(
ta po une solution ?
Utilisateur anonyme
9 sept. 2003 à 04:59
Super je cherchait justement quelque chose pour changé les couleur de lasstab a chier de microsoft lol
cs_badmoon Messages postés 3 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 4 août 2003
4 août 2003 à 17:47
Salut,

vraiment impressionnant comme code,
mais dans le controle sstab on peut mettre des images devant le texte de l'onglet ce qui donne un joli rendu
est ce possible ici a part de rajouter les images en imagebox
et summun est il possible de mettre une image de fond differente pour chaque onglet ?
A++
Fab
elifqaoui Messages postés 11 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 19 juin 2003
14 mai 2003 à 12:19
salut,
c super ce controle, j'ai essayé de déployer l'OCX mais apparemment ca marche pas si tu pouvais m'envoyer l'OCX par mail ca sera génial.
hicham9e@yahoo.com
KrocLeBo Messages postés 18 Date d'inscription jeudi 7 juin 2001 Statut Membre Dernière intervention 19 avril 2010
26 oct. 2002 à 10:10
En effet, la propriété TabVisible n'a pas été implémentée, je vais essayer de le faire. (Ajouter la propriété c'est plutôt simple, le plus compliqué c'est de modifier les routines de dessin pour la prendre en compte).
cs_Chewba Messages postés 90 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 10 septembre 2006
21 août 2002 à 09:32
Salut,

Comment fait-on pour rendre invisible un tab car la propriété tabvisible n'existe pas ???
Le problème avec un fond de feuille MDI c'est qu'il manque quelques données sur l'environnement, notemment la fonte.

En rajoutant un on error resume next sur "Public Property Set Font(ByVal New_Font As Font)" tu peux éviter l'erreur qui se produit et utiliser le contrôle sur ton fond de feuille MDI.
Mais la gestion de la fonte n'est pas adaptée.
Je mets ça de côté pour voir si je peux faire mieux :-)
voila voila...
ben c bien cool c clair
par contre, je voulais savoir si tu pouvais pas faire en sorte de la rendre utilisable sur un fond de feuille MDI directement (pour faire sans mettre de picture box dessous)
ca serais pas mal pacque malheureusement, je ne connais pas beaucoup de controles qui font cela, et personnellement, je ne sais pas le faire...
enfin bon, c juste une idée...)
Problême du resize, voila la solution : ajouter l'appel a refresh sur l'evennement resize

Private Sub UserControl_Resize()
RaiseEvent Resize
' Régler le problème du resize quand le contrôle est aligné
' (En agrandissant le form ca marche mais pas en rapetissant)
' on force donc le contrôle à se redéssiner
Refresh
End Sub
Pour le problême de l'alignement, en fait le contrôle se resize bien quand on agrandit le form, mais pas quand on le rapetisse ...
Je regarde ce qu'il en est :-)
Les phrases en anglais, ce sont les mappings entretenus par visual basic dans les propriétés des procédures. Dans le cas d'un contrôle personnalisé c'est super pratique (et j'bosse avec la version US de VB). Sinon le code est 100% de moi mais n'est pas franchement bien compliqué :-)
Lightness1024
15 juin 2001 à 21:13
1400 lignes ( commentaires compris) , po mal.
mais pkoi la phrase ki dit de pas suprimmer les commentaire est elle en anglais ? copier/coller ?
c balaise !!!
c de toi ???
y'a juste un petit blème kan on align le controle et ke ensuite on redimensionne la forme, ca redimmensionne pas le controle kan on rétréci la form
mais c super sympa...(10)
El Manipulator
15 juin 2001 à 20:02
C'est cool...
Impressionant !!
Rejoignez-nous