|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
![]() ![]() |
Bonjour
Dans une contribution précédente, je vous expliquais comment simuler un contrôle onglet. http://www.developpez.net/forums/sho...d.php?t=409907 Ici je vais vous expliquer comment transformer un onglet existant en onglet avec des couleurs. 1 – Préparation L’onglet comporte une propriété Style de Fond, celle-ci sera réglée à Transparent par le code. De plus chaque page de l'onglet a une propriété Remarque (TAG), dans celle-ci vous mettrez la couleur que vous souhaitez, il s'agit d'un nombre de type long, que vous pouvez récupérer en sélectionnant une couleur sur n'importe quel autre contrôle. Sur votre formulaire positionnez un contrôle rectangle (que nous nommerons recFondOnglet), celui-ci aura un fond opaque (réglé la propriété Style de Fond à standard), et positionnez le en arrière plan (Menu : Format/Mettre en Arrière plan). La position et la taille de ce formulaire seront réglées par le code. Sur ce formulaire vous allez positionner 4 contrôles, ce sera des boutons de commandes MS Forms 2.0, vous les trouverez sous le nom Microsoft Forms 2.0 CommandButton dans le menu : Insertion/Contrôle ActiveX … Ces boutons seront nommés cmdOngletX avec X variant de 0 à 3, car dans l’exemple nous avons 4 onglets. La taille et la position de ces contrôles seront réglés par le code, ceux-ci se positionneront à la place des onglets. Nous utilisons ce contrôle, car celui-ci va toujours rester au-dessus. 2 - Code Mettez le code suivant dans un module. Code :
Code :
Code :
Code :
2007-11-11_161821.jpg 3 – Remarque : Ce code ne fonctionne que si le style d’onglet de votre contrôle n’est pas en Multi-Ligne. Si vous rajoutez des contrôles sur vos pages, n’oubliez pas de remettre le rectangle en arrière plan. Cet exemple est fait avec plusieurs couleurs, vous pouvez bien sûr n'en prendre qu'une. Attention : Si vous utilisez Access 2003, il faut que l'option "Utilisez les styles Windows" soit décoché dans l'onglet Formulaire des options pour cette astuce fonctionne. Ce code fonctionne sur les versions Access 2000, 2002 et 2003, il n'a pas été testé sur les versions 97 et 2007. |
||||||||
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 18 ![]() |
Bonjour,
superbe ton code sur les onglets mais j'ai un petit soucis que tu pourras surement m'expliquer quand je mets "hauteur fixe onglets" à 0 cm de mon contrôle Onglet, j'obtiens des onglets fonctionnels mais la légende de chaque onglet est de couleur grise standard (notes qu'il y a quelque chose au dessus des légendes, comme des boutons en arrière plan). ![]() Par contre quand je mets la valeur à 0,5 cm (peu importe en fait puisque ton code prend le relais), la légende de chaque onglet est bien coloriée (magnifique) mais le clic sur chaque onglet ne fonctionne pas... ![]() Merci pour ton aide
|
|
|
00
|
|
|
#3 |
![]() ![]() |
Bonjour
La hauteur des boutons de commande est géré par la hauteur des contrôles d'onglets. As-tu bien mis le code sur l'évènement Click des boutons de commandes pour lancer l'évènement Change du contrôle onglet ? Starec |
|
|
00
|
|
|
#4 | |
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 18 ![]() |
Citation:
quand je mets à 0 la hauteur c'est quand même étonnant que je puisse voir les boutons d'onglet, non ? peux-tu m'envoyer par zip ton exemple que nous pouvons observer dans ton FAQ ? |
|
|
|
00
|
|
|
#5 |
![]() ![]() |
Voilà, le temps que je fouille.
|
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 18 ![]() |
J'ai trouvé mon erreur
![]() J'avais assigné au Page le code du click et non au bouton cmdOnglet... bon ok je sors ------> [ ]Merci à toi |
|
|
00
|
|
|
#7 |
![]() ![]() |
Bonjour
Pour information, cela fonctionne aussi avec Access 2007, car le contrôle Onglet de cette version n'a pas été modifié par rapport aux autres. Philippe |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com