Visual Basic 2005 et les onglets

skowee59 Messages postés 78 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 29 juin 2006 - 18 févr. 2006 à 19:37
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 20 févr. 2006 à 15:36
J'utilise VB 2005 et je cherche à créer des onglets avec une apparence comme celle du logiciel Visual Studio 2005 justement, ou bien encore Microsoft OneNote.
Il a bien le controle TabControl mais le style des onglets c'est juste Normal, Buttons et FlatButtons. Et personnellement, le style des onglets de Visual Studio 2005 (ou OneNote) est quand même plus joli ;-)

Zerocool59

1 réponse

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016
20 févr. 2006 à 15:36
salut,



hahaha !... ^^

non je rigole parcequ'il faut que je m'en fasse un moi aussi ! ;o)



à confirmer par plus expérimenté que moi :

il ne sert strictement à rien d'hériter de certains contrôles car au
final il sont toujours dessinés par le système. c'est le cas du texte
dans les TextBox et ComboBox, des tabulations dans le TabControl.

pour preuve le source "Flat ComboBox with MS Office
XP/2003 style support
" sur CodeProject.com


le source semble excellent mais si tu modifies dans le code la couleur
appliquée au texte (remplace Me.ForeColor par Color.Red) tu te rendras
compte que le code est bien joli mais que le contrôle affiche toujours
le texte en noir (si ForeColor = Color.Black) alors que le code écrit
du texte en rouge...

(et le code a été primé...)



pour le TabControl, idem. les tabulations (ce que tu souhaites
réellement modifier) seront tout ou partie dessinées par le système.
donc il faut te le taper "à la main, comme les romains..."



donc je te conseille de créer un contrôle héritant de ContainerControl (le papa de Control !).

tu te réserve un rectangle pour dessiner tes tabulations, donc tu
surcharges la propriété Padding pour que tes tabulations soient exclues
de la zone qui accueille les TabPages. pour le dessin des tabulations
tu peux t'inspirer du dessin des Toolbar personnalisés en VB 7.

tes TabPages seront organisées en collection, chacune à au moins une propriété Text et un Panel associé.

en fait,

à chaque fois que l'utilisateur ajoute une TabPage, tu ajoutes un Panel
et le positionne dans ton contrôle avec Visible = False. il faudra
surêment ajouter des handlers sur cetains évènements (?...).

tu gère le déplacement du curseur sur ton contrôle et en particulier le
Click sur les tabulations pour afficher (Visible = True) le Panel
associé à la tabulation.



bonne prise de tête et tiens moi au courant !




[ Dalida ]<hr>
pensez à indiquer la version du language
0
Rejoignez-nous