Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DKSTOOLTIP : UN TOOL TIP PERSONNALISABLE AU LOOK XP, MULTILIGNE ET TRANSLUCIDE


Information sur la source

Catégorie :Formulaire Classé sous : tooltip, transparent, xp, baloon, multiligne Niveau : Débutant Date de création : 30/12/2004 Date de mise à jour : 26/04/2005 16:12:31 Vu / téléchargé: 11 804 / 16 050

Note :
9,67 / 10 - par 6 personnes
9,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (79)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
Cela faisait un petit bout de temps que j'avais vu une source sur VBAccelerator qui permettait de faire des tooltip au look xp plutôt sympa, et j'ai décidé de m'en inspirer en la simplifiant au maximum pour vous proposer cette source.

Il s'agit d'une classe très facilement à utiliser et qui permet de définir très facilement et rapidement des tooltip pour des contrôles.

Vous pouvez personnaliser :
Les couleurs, le style de tooltip voulu, le texte, le titre, l'orientation, la transparence.
 

Source

  • 'Dorénavant, il est possible d'appliquer automatiquement les tooltip selon les paramètres du tooltiptext des contrôles d'une feuille => plus besoin de taper une dizaine de lignes par contrôles ;) :
  • Private Sub Form_Load()
  • ApplyToolTip(Me)
  • End Sub
'Dorénavant, il est possible d'appliquer automatiquement les tooltip selon les paramètres du tooltiptext des contrôles d'une feuille => plus besoin de taper une dizaine de lignes par contrôles ;) :

Private Sub Form_Load()
ApplyToolTip(Me)
End Sub

Conclusion

Je ne pense pas mettre à jour cette source
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

30 décembre 2004 21:20:35 :
02 janvier 2005 15:06:28 :
Mise à jour du zip pour rendre le tool tip translucide.
03 janvier 2005 11:34:31 :
Ajout d'une fonction qui permet d'appliquer automatiquement une tooltip avancée selon les paramètres entrés dans la propriétés des ToolTipText de chaque contrôle.
22 avril 2005 16:45:00 :
Modification du code de la feuille principale pour faire fonctionner correctement les tooltip (bizare que je n'ai mis qu'une version de test !)
22 avril 2005 16:45:08 :
Modification du code de la feuille principale pour faire fonctionner correctement les tooltip (bizare que je n'ai mis qu'une version de test !)
26 avril 2005 16:12:17 :
Modification demandée par YaNnOu et par pluplu : les SendMessage ont été remplacés par des PostMessage pour règler des problèmes d'affichage du tooltip.
26 avril 2005 16:12:31 :
Modification demandée par YaNnOu et par pluplu : les SendMessage ont été remplacés par des PostMessage pour règler des problèmes d'affichage du tooltip.

Commentaires et avis

signaler à un administrateur
Commentaire de DARKSIDIOUS le 30/12/2004 21:20:04 administrateur CS

par contre, si l'un d'entre vous possède windows 2000/ME/98 ou 95, est-ce que vous pouvez me dire si le tool tip sous forme de bulle marche aussi sur ces OS svp ?

Merci d'avance

DarK Sidious

signaler à un administrateur
Commentaire de thierrydelepine le 30/12/2004 22:21:47

une classe interressante

signaler à un administrateur
Commentaire de Renfield le 31/12/2004 07:25:56 administrateur CS

pour ceux que ca interesse, j'ai fait il ya quelques temps une source similaire...

http://www.vbfrance.com/code.aspx?id=6539

signaler à un administrateur
Commentaire de NISANDSYSTEMS le 31/12/2004 11:02:31

Renfield ici pas de pub ici.
DarK Sidious poste une source, on dit ce que l'on en pense et non de la vanitée sur tes prouesses si magiques...


DarK Sidious; Interessant et bien pensé

Nisand-Systems

signaler à un administrateur
Commentaire de thierrydelepine le 31/12/2004 11:03:11

Renfield : Ton code aussi est tres interessant, les deux se valent (je ne suis pas rentré dans les details pour les comparer), mais il est vrai que vos deux codes sources apportent un add-on a visual basic qui est vraiment basic dans ces controles.

merci a vous deux.

signaler à un administrateur
Commentaire de DARKSIDIOUS le 31/12/2004 11:05:30 administrateur CS

Désolé Renfield, je n'avais pas vu que tu avais posté une source similaire !

DarK Sidious

signaler à un administrateur
Commentaire de Renfield le 31/12/2004 14:01:07 administrateur CS

Pas de probleme Dark...

NISANDSYSTEMS, inutile de s'enerver... j'ai vu la source de Darksidious, et ayant fait un code sur le susujet, je m'y suis interessé....

Je dis pas d'utiliser l'une ou l'autre, j'indique l'URL pour que ceux que ca interesse aillent faire un tour...

J'ajouterais que d'autres avant Darksidious ou moi ont deja epprouvé ces techniques, qui sont documentées sur le Net (MSDN, notamen)

enfin, c'est ma vision de la chose... pas de comparaison a faire, ni de jugement quelconque, c'est un site de partage, je fournis un autre point de vue sur les mêmes finalités...

sur ce, amusez-vous bien avec les Tooltips ;-)

signaler à un administrateur
Commentaire de DARKSIDIOUS le 31/12/2004 14:08:12 administrateur CS

Tout à fait Renfield, et je n'ai pas essayé de te copier, bien au contraire !

Je suis par contre désolé d'avoir mis une source qui existe déjà sur ce site, bien que différente en code, elle est équivalente en finalité. J'espère juste qu'il n'y aura pas autant de sources sur ce sujet qu'il n'y en a pour les programmes de messagebox par exemple ;)

DarK Sidious

signaler à un administrateur
Commentaire de pluplu le 31/12/2004 16:41:19

Pas vu de problème sous win 2000 tout marche bien, bon boulot, je vais m'en servir directement c'est super chouette encore merci Dark

signaler à un administrateur
Commentaire de Afyn le 02/01/2005 14:30:35

Bonjour
La fenêtre du Tool Tip peut elle être transparente ?

Merci

Afyn
Navedac

signaler à un administrateur
Commentaire de DARKSIDIOUS le 02/01/2005 15:07:27 administrateur CS

Voilà c'est fait, j'ai rajoutté une propriété pour rendre le tool-tip transparent. A n'utiliser que sous Windows XP ou 2000 cependant !

DarK Sidious

signaler à un administrateur
Commentaire de Senynium X le 03/01/2005 10:06:08

Classe tres interessante, du bon boulot

signaler à un administrateur
Commentaire de Afyn le 03/01/2005 10:52:58

C'est super ... et trés bien commenté.
Bon, je n'ai plus qu'a bucher pour comprendre !

Bravo

Afyn
Navedac

signaler à un administrateur
Commentaire de Afyn le 03/01/2005 10:55:55

... Au fait j'ai un bug sur mon ordi ?
Le tooltip ne fonctionne pas sur l'exe compilé ?

A+

Bonne Prog

Afyn
Navedac

signaler à un administrateur
Commentaire de Renfield le 03/01/2005 11:05:10 administrateur CS

idem (Xp Pro / NT4)

signaler à un administrateur
Commentaire de DARKSIDIOUS le 03/01/2005 11:36:39 administrateur CS

Nouvelle mise à jour (décidément, c'est sur les sources que je ne pense pas faire de mise à jour où j'en fait le plus ;)

Alors, bug avec l'exe résolu, maintenant ca à l'air de mieux marcher.

Et j'ai surtout rajouté une fonction pour appliquer automatiquement les tooltips à tout les contrôles d'une feuille ! Cela peut en inspirer certains pour encapsuler cà dans une classe avant que je le fasse (c'est prévu pour après mes exams ;) Ainsi, il sera possible d'automatiser les tooltips pour un nombre non définit de feuille : un objet par feuille en fait !

DarK Sidious

signaler à un administrateur
Commentaire de Senynium X le 03/01/2005 12:47:56

Attendons la classe ..., si on la fait pas avant

signaler à un administrateur
Commentaire de DARKSIDIOUS le 03/01/2005 12:56:05 administrateur CS

lol, la classe devrait être prête d'ici fin janvier normalement. Elle permettra d'automatiser les contrôles d'une (ou plusieurs) feuille avec la même méthode qu'actuellement : les balises dans le tooltiptext des contrôles permette de définir les options du tooltip rattaché.

DarK Sidious

signaler à un administrateur
Commentaire de ProgrAmateur le 03/01/2005 17:18:47

Salut l'ami !
c'est bien comme source,une petite question si tu vx :Comment peut on attribuer un bouton de fermeture a ces infobulles?Merci pour la source.

signaler à un administrateur
Commentaire de DARKSIDIOUS le 03/01/2005 17:26:46 administrateur CS

Un bouton de fermeture ?

Oui c'est possible, mais ca demande pas mal de boulot ! Surtout que tu le veux au look XP bien sûr, je me trompe ? ;) Je vais y réfléchir, mais ce sera pas pour tout de suite !

DarK Sidious

signaler à un administrateur
Commentaire de MasterHack le 03/01/2005 17:27:38

c'est cool,vraiment top!bravo

signaler à un administrateur
Commentaire de DARKSIDIOUS le 03/01/2005 17:29:38 administrateur CS

Merci MasterHack ;)

J'étais loin de penser qu'une telle petite source plaise autant !

DarK Sidious

signaler à un administrateur
Commentaire de MasterHack le 03/01/2005 17:32:37

Biensur que c'est bien,j'ai toujour aimer les infobulle au style XP bonne continuation

signaler à un administrateur
Commentaire de Afyn le 03/01/2005 18:37:10

C'est clair tu peux plus coincer la bulle avec ton info !

Yop !

Afyn
Navedac

signaler à un administrateur
Commentaire de pluplu le 07/01/2005 16:42:08

Quelques problèmes persistent, j'ai compilé et essayé un example sur win2000, et Win98 ça marche par contre sur XP si le tooltip est en mode Balloon il n'apparait qu'après un temps très long même si je recompile la source depuis XP ?? et même en essayant de changer le paramètre WaitTime.

signaler à un administrateur
Commentaire de DARKSIDIOUS le 07/01/2005 16:44:20 administrateur CS

Tiens donc, je n'ai pas ce problème chez moi ! Combien mets-tu pour le WaitTime ?

Donc ca marche sous Windows 98 ? Ca c'est une bonne nouvelle ! Mais est-ce que le mode Balloon marche sous Win98 ?

DarK Sidious

signaler à un administrateur
Commentaire de pluplu le 07/01/2005 18:16:40

Oui le mode Balloon marche sous Win98 et même si le mode translucide est activé sauf que sous Win98 le fond reste non-tranparent.
Pour ce qui est du probl. de WaitTime j'ai essayé avec différ. valeurs de 2 à 500 mais ça semble réagir bizarement avec une même valeur pour le WaitTime des fois le 1er control réagit normalement et les autres controls de la form de mannière très lente et cela sans que mon PC ne soit ralentis par d'autres process, j'ai essayé de transformer la classe en OCX mais le problème reste le même ??

signaler à un administrateur
Commentaire de DARKSIDIOUS le 07/01/2005 18:29:22 administrateur CS

Oui vraiment bizarre cà ! Va falloir que je fasse des tests plus approfondis !

Je ne savais pas que Windows 98 faisait des tooltips en balloon, c'est cool que ca marche aussi ! Par contre, au niveau des icônes, ca doit faire des icônes 24 bits alors ?

DarK Sidious

signaler à un administrateur
Commentaire de pluplu le 07/01/2005 19:36:42

Voilà j'ai trouvé la cause du problème, j'ai remplacé dans le module de class
les Instructions  "SendMessage"  par "PostMessage"  et ça vas nettement mieux je n'ai plus aucun problème. Pour ce qui est de Win98 en mode Balloon les angles sont un peu cassé (pas très arrondis) mais l'effet reste valable et pour les icônes je ne vois pas grande différence.
Je vais maintenant essayer de mettre tout ça dans un OCX.

Pluplu

signaler à un administrateur
Commentaire de DARKSIDIOUS le 07/01/2005 20:15:30 administrateur CS

Ben attends un petit peu : d'ici fin janvier-début février, je vais mettre à jour cette source pour implémenter l'automatisation des tooltips de tout les contrôles des feuilles, et je la passerais alors en tant que dll activeX. Je ne pense pas qu'un ocx apporte la moindre chose en plus : je vois mal mettre autant de contrôles ocx que de contrôles standards pour avoir des tooltips !

DarK Sidious

signaler à un administrateur
Commentaire de pluplu le 07/01/2005 20:37:21

Ok dans ce cas j'attend ta source, c'est vrai qu'une dll activeX est une meilleure idée.
Un truc qui serai sympa serai de pouvoir maintenir le tooltip ouvert tant que l'on est sur le control.

A+ Pluplu

signaler à un administrateur
Commentaire de DARKSIDIOUS le 07/01/2005 20:57:52 administrateur CS

Cela viendras, mais plus tard, avec un bouton de fermeture comme le fait le tooltip de WindowsXP pour les messages du systray, si j'y arrive bien entendu !

DarK Sidious

signaler à un administrateur
Commentaire de alixdj le 22/04/2005 00:27:55

Très jolis tooltips, j'attends aussi avec impatience qu'ils puissent rester ouverts.
Soit avec un bonton de fermeture, ou mieux avec clic
partout ailleurs.

signaler à un administrateur
Commentaire de YaNn0u le 22/04/2005 00:29:10

Hello,

J'ai pas mal de problème avec ta source que j'aimerais bien utiliser pour un projet assez gros.. J'ai préféré garder l'ancienne méthode pour faire les tooltiptext personnalisés ( avec les dizaines de "let tooltip".. ) mais ca ne marche pas, j'ai cinq textbox ou j'ai donc déclaré tous les controles pour les nouveaux tooltiptext mais un seul s'affiche ! J'ai essayé avec la nouvelle méthode et c'est pareil :/

J'tourne sur XP pro avec vb6.. J'attends avec plaisir ta réponse

A pluche

signaler à un administrateur
Commentaire de DARKSIDIOUS le 22/04/2005 06:52:14 administrateur CS

Alixdj : malheuresement, je n'ai plus trop le temps de faire évoluer mes sources en ce moment, mais l'évolution de celle-ci reste ma priorité car j'ai aurais besoin dans un projet professionnel, donc la fermeture par une croix reste d'actualité !

YaNn0u : je rencontrais le même problème avec la version précédente, or cette version là fonctionne mieux... cela venait de la déclaration du windows common controls, faudras que je teste cà pour la prochaine mise à jour. Par contre, c'est quand même plus lourd à faire de devoir faire avec l'ancienne méthode !

DarK Sidious

signaler à un administrateur
Commentaire de YaNn0u le 22/04/2005 14:35:21

Argh j'obtiens une autre erreur maintenant, en essayant d'utiliser la nouvelle méthode dans mon projet :/

Ca me renvoie dans ton module en surlignant :

"   Let sToolTipText = oFor1.ToolTipText"

et ca me dit "L'objet ne gère pas cette proprieté ou cette méthode " :(

Une idée ?

Merchi

signaler à un administrateur
Commentaire de DARKSIDIOUS le 22/04/2005 14:52:40 administrateur CS

Arf, oui, si un contrôle ne possède pas la propriété ToolTipText, c'est normal !

Mets un On Error Resume Next en début de procédure.

DarK Sidious

signaler à un administrateur
Commentaire de YaNn0u le 22/04/2005 16:29:43

Ca marche toujours une fois sur deux, des fois c'est le premier, des fois c'est le deuxieme textbox.. je perds espoir !

signaler à un administrateur
Commentaire de DARKSIDIOUS le 22/04/2005 16:46:07 administrateur CS

Bon, je viens de vérifier, et le zip qui est sur le site n'est pas la version que j'ai sur mon poste, mais une version de test que j'avais faite, ca me paraît bizarre que j'ai posté une version de test ! Enfin bon, je viens de mettre le code à jour, et ca devrait mieux fonctionner maintenant ;)

DarK Sidious

signaler à un administrateur
Commentaire de Renfield le 22/04/2005 16:59:59 administrateur CS

mauvaise habitude que de placer dees On Error en tête de procédure...

il faut cibler les lignes de code qui génèrent les erreurs que l'ont veux intercepter.

s'il n'est pas possible de les prévoir sans gestion d'erreur (controle des parametres, par exemple).

dans le cas d'une propriété non disponible, pas le choix, je vous l'accorde.

néanmoins, il faut cibler les lignes de code :

on error Resume Next
Ctrl.ToolTipText = sToolTip
If Err <> 0 then
    '# Traitement eventuel de l'erreur
End If
On Error Goto 0  '# On réactive la gestion d'erreur standard

enfin, si c'est confortable de se dire qu'un On Error... aide en développement, l'idéal serait d'en enlever un maximum, afin d'eviter certains bugs potentiels.
pour cela, activer l'arret sur toutes les erreurs dans les options de VB

signaler à un administrateur
Commentaire de DARKSIDIOUS le 22/04/2005 17:03:10 administrateur CS

Oui je suis d'accord, le On Error permet de cibler les erreurs, et les ignorer toutes implique parfois des erreurs innatendues et très difficiles à percevoir par la suite si on les a ignorées, mais cependant, pour ce type de problème, on peux très bien le mettre : l'erreur venant très sûrement des contrôles qui ne possèdent pas de propriétés ToolTipText, cela n'engendrera pas de grosses erreurs, du moins, je ne pense pas ;)

DarK Sidious

signaler à un administrateur
Commentaire de Renfield le 22/04/2005 18:14:58 administrateur CS

non , c'est vrai, reste qu'il faut cibler les lignes a ignorer....

éviter les On Error trop systématiques

(je n'ai pas vu le code de la procedure en question)

signaler à un administrateur
Commentaire de YaNn0u le 22/04/2005 18:52:05

J'ai téléchargé ta nouvelle source Dark Sidious et sans vouloir être lourd ( si ce n'est déjà le cas ) rien qu'en lancant ta source, le tooltiptext du bouton exit ne marche pas, sans aucune modif de ma part

Il n'y a que celui de la listbox qui semble fonctionner, je me demande vraiment à quoi cela peut être dû !

signaler à un administrateur
Commentaire de DARKSIDIOUS le 23/04/2005 17:18:09 administrateur CS

Ben là je vois pas alors ! ca marche très bien chez moi !

DarK Sidious

signaler à un administrateur
Commentaire de pluplu le 24/04/2005 08:59:15

YaNnOu

Si ton problème est que aléatoirement certains de tes tooltip ne fonctionnent pas essaie cela:

dans le module de class CDKSTooltip de la source, localise la sub  Public Sub CreateToolTip et modifie les deux lignes juste après le commentaire 'on définit le délais d'attente et le temps d'affichage

remplace les deux commandes Call  Sendmessage......
par Call PostMessage......

Pour moi cela a corrigé le problème je l'avais d'ailleur mentionné plus haut dans ce forum, mais je ne sais pas si le source à été corrigé par Dark que je salue au passage.

signaler à un administrateur
Commentaire de DARKSIDIOUS le 24/04/2005 13:01:13 administrateur CS

Oui, exact pluplu, je n'ai pas encore modifié cà, mais il est possible que ca vienne de là : si le contrôle n'a pas le temps d'intercepter le message envoyé par SendMessage, le tooltip ne s'affichera pas !

Merci de m'avoir raffraichit la mémoire pluplu ;)

DarK Sidious

signaler à un administrateur
Commentaire de YaNn0u le 26/04/2005 15:50:59

Malheureusement, avec PostMessage plus aucun ne s'affiche :/

signaler à un administrateur
Commentaire de YaNn0u le 26/04/2005 15:55:41

Ah nan sorry, tout fonctionne parfaitement.. Erreur de waittime Désolé !

Je pense que tu devrais prendre en compte la modif de pluplu Dark Sidious car là ca fonctionne impec !

Merci à vous deux, et à bientot !

signaler à un administrateur
Commentaire de ericsim le 27/04/2005 15:25:28

Vraiment tres tres bien.
Question : Comment fonctionne l'apparaition du tool tip. Est-ce un appel à une fonction Windows. J'avoue m'être servi des tool tip sans jamais m'en préocuper.

Je viens de faire un test sur un programme qui est en réseau, et cela fonctionne avec tous les Windows...
De W95 à XP sp2

Encore super pour le code

signaler à un administrateur
Commentaire de DARKSIDIOUS le 27/04/2005 16:00:21 administrateur CS

Merci pour ce test ericsim et pour tes appréciations, ca fait plaisir ;)

Les tooltips sont en fait un paramètre à spécifier à une fenêtre (donc à un contrôle) :

    'on définit les informations du tooltip
    With m_pToolTipInfo
        Let .lFlags = TTF_SUBCLASS Or TTF_IDISHWND
        If m_bIsCentered Then Let .lFlags = .lFlags Or TTF_CENTERTIP
        Let .hWnd = lControlHwnd
        Let .lId = lControlHwnd
        Let .hInstance = App.hInstance
        Let .lpStr = m_sTipText
        Let .lSize = Len(m_pToolTipInfo)
    End With
    Call SendMessage(m_lHwnd, TTM_ADDTOOLA, 0&, m_pToolTipInfo)

En gros, cela consiste à renseigner le contrôle quelle est la feuille qui sert de tooltip pour lui. Ensuite, il est possible de le personnaliser grâce à quelques paramètres :
TTM_SETTIPTEXTCOLOR
TTM_SETTIPBKCOLOR
TTM_SETDELAYTIME

Il me reste encore un peu de travail sur cette source pour la rendre aussi puissante que j'aimerais : l'ajout d'un bouton de fermeture comme on peux le voir sous Windows XP avec le tooltip du systray qui s'affiche lors d'une connexion internet par exemple. Ce bouton devra bien entendu être au look xp si l'ordinateur est sous XP, sinon, au look Win95 !

Malheureusement, je n'ai pas le temps de me pencher sur cette évolution en ce moment.

DarK Sidious

signaler à un administrateur
Commentaire de ericsim le 27/04/2005 16:46:17

C'est déja trés bien...

Pour mon appli, j'ai créé un type genre
tool_type...
     texte as string
     titre as string
     etc...


Que je remplie suivant les besoins de l'objet, je balance ce type à une fonction qui me retourne le texte formaté, et je n'ai plus qu'a l'affecter au tooltypetext de mon objet...

En plus, j'initialise le type au demarrage de l'appli, genre couleur de fond, couleur des caractères, transparences, centrage ... ce qui permet d'avoir des tooltypetext identique pour toute l'appli

Bon j'espère avoir été clair, c'est parfois plus facile à faire qu'a dire :-)

signaler à un administrateur
Commentaire de YaNn0u le 27/04/2005 18:10:34

Ta fonction m'interesse ericsim, pourrais-tu nous la faire partager ?

mon mel : webmaster arobazeuh hivacruz point com

Merci à toi !

signaler à un administrateur
Commentaire de DARKSIDIOUS le 27/04/2005 18:14:44 administrateur CS

Si tu veux, tu me l'envoie par mp, et je la publie avec la source, ainsi tout le monde pourras en bénéficier (je n'oublierais pas de te citer dans le code bien entendu !)

DarK Sidious

signaler à un administrateur
Commentaire de ericsim le 28/04/2005 08:27:36

Pas de problème, mais il faut que je la retravaille pour qu'elle soit présentable, en début de semaine prochaine




signaler à un administrateur
Commentaire de ericsim le 03/05/2005 12:15:52

J'ai envoyé la fonction à DARKSIDIOUS, j'espère qu'il la bien recue

signaler à un administrateur
Commentaire de DARKSIDIOUS le 03/05/2005 13:49:19 administrateur CS

Je l'ai bien reçu mais je n'ai pas le temps actuellement pour la regarder.

Je te tiendrais au courant d'ici la fin de semaine

DarK Sidious

signaler à un administrateur
Commentaire de FredRaid le 24/06/2005 22:18:04

Source nickel... Cela va beaucoup m'aider pour le prog que je suis en train de mettre à jour. Par contre je suis interessé par la source d'EricSim et je ne la vois pas dans le ZIP. Y'a t'il eut des changements depuis mai ?
Et encore merci...

signaler à un administrateur
Commentaire de myco le 26/07/2005 16:21:22

Merci pour ton travail et ton partage Darksidious!
J ai intégrer ton source dans un projet ca marche nickel!
Juste une remarque :D Faire attention avec certains controle qui ne possède pas la propriété tooltiptext, il faut faire des exceptions dans la fonction ApplyToolTip() dans les deux boucle FOR EACH du genre:

   For Each oFor1 In frmForm.Controls
        i = i + 1
       If oFor1.Name = "Imageliste" Or oFor1.Name = "CommonDialog" Or oFor1.Name = "Menu1" Then
            If i >= frmForm.Controls.Count Then
                GoTo exitFor
            Else
                GoTo nextFor
            End If
        End If
...
...
nextFor:
    Next oFor1
exitFor:

J'ai essaye de faire une verif sur le type du controle pour que ce soit plus propre et fonctionnel, mais j'ai pas encore trouver...
@bientot
;-)

signaler à un administrateur
Commentaire de Renfield le 26/07/2005 17:07:47 administrateur CS

C'est incevable d'efectuer le test sur le nom des objets...

       If TypeOf oFor1 Is Menu Then
            If i >= frmForm.Controls.Count Then
                GoTo exitFor
            Else
                GoTo nextFor
            End If
        End If

par contre sur leur Type ....

signaler à un administrateur
Commentaire de DARKSIDIOUS le 26/07/2005 18:10:45 administrateur CS

Le problème avec ce genre de test, c'est qu'il faut que les contrôles soient référencés, donc ca crée des dépendances énormes !

Alors qu'avec un On Error Goto, et gérer le numéro de l'erreur qui peut apparaître est sûrement aussi sûr, et plus pratique !

DarK Sidious

signaler à un administrateur
Commentaire de Renfield le 26/07/2005 18:36:28 administrateur CS

ok pour le On Error ...
(c'est d'ailleurs pour cela que j'ai repris le Menu, qui lui est là ^^ )

signaler à un administrateur
Commentaire de myco le 09/08/2005 18:23:43

Le typeOf marche aussi Pour les CommonDialog mais pas pour les ImageList! c dingue!
Je garde ma soluce parcque j'ai des problèmes avec le On error Goto , au premier passage il va bien au goto et retourne dans la boucle. Et a la seconde erreur il retourne dans la gestion d'erreur de mon Form_Load ou j'appel ApplyToolTip(). Comprend pas...

signaler à un administrateur
Commentaire de MasterHack le 09/08/2005 19:57:52

moi je prefere On local error,pour gerer les erreurs internes seulement.bonne prog

signaler à un administrateur
Commentaire de Lus le 12/01/2006 15:48:13

Bravo a tous... Mais comment faire pour créer un lien dans cette infobulle stype XP????

signaler à un administrateur
Commentaire de darkanlegrand le 08/02/2006 12:47:53

hello all!

je vois que les posts sont un peu vieux mais je tente ma chance ....

La source de Dark fonctionne nickel chez moi (XP_pro_sp2). Que ce soit sous l'ide(vb6_pro) ou compilée. Mais je suis apperçu d'un truc bizarre, j'explique:

lorsque je fais démarrer l'exe avec le .manifest, les tooltips fonctionnent jusqu'à ce que le m_lDisplayTime soit terminé. Après quoi, plus rien, il ne réaffihe pas le tooltip.
Idem si je donne le focus à l'objet sur lequel le tooltip est affiché(exemple un bouton), une fois qu'il à reçu le focus, impossible d'avoir le tooltip, même si je donne le focus à un autre objet et que je revienne dessus en survol, pas de tooltip. Biarre non,... ?!?

J'ai donc essayé plusieurs sources(de ce site et d'ailleur) utilisant le principe que nous propose DArkSidious, mais à chaque fois même problème avec l'utilisation du .manifest.

J'ai fait plusieurs test, y compris de "fusionner" le .manifest dans l'exe, mais rien n'y fait :((
C'est toujours pareil. J'entrvois un pb de Handle, mais mes compétences s'arrètent là. Qlq'un aurait une petite idée, même aussi vaste soit elle???

Dark, j'ai compris que tu ne voulait pas t'attarder sur cette source, mais si tu as une idée pour orienter mais recherches...

Merci à tous!

signaler à un administrateur
Commentaire de DARKSIDIOUS le 08/02/2006 12:54:37 administrateur CS

Salut,

En effet, j'ai constaté un bug avec ma source sur le display time (je n'arrivais pas à mettre des tooltips pour des feuilles contenant une vingtaine de contrôle). Enlève les 2 lignes permettant de définir le temps d'affichage et le délais, ca devrais résoudre pas mal de tes problèmes (en tout cas, chez moi, ca marche bien mieux sans cà).

DarK Sidious

signaler à un administrateur
Commentaire de darkanlegrand le 08/02/2006 13:24:01

hélas rien n'y fait, je remarque que l'affichage est moins "stable": il y a en scintillement lors de l'apparition du tooltip en enlevant les2 lignes.

je viens de faire un autre test en exécutant vb6 avec le manifest pour avoir l'interface directement avec le loovk XP.
mais toutjours pareil... je comprend vraiment pas pourquoi appellant les composants de comctl32.ocx d'XP cela pose ce pb....

je cherche!

merci.

signaler à un administrateur
Commentaire de darkanlegrand le 10/02/2006 11:25:22

Bon ben voilà, helas, un debut d'explication...
(fourni par le sevice dévelloppement de http://www.teebo.com)


Hello Darkan,
Thank you for contacting Teebo Software Solutions. The problem is actually a bug in the win32 implementation of tooltips in Windows XP. The are a number of posts in internet forums and Usenet groups by developers asking about the same problem with their own custom tooltip implementations. Since our product is based on the win32 implementation, our product is affected by the bug. We have tried to find a workaround, but have not found anything satisfactory as of this time. Microsoft has not publicly acknowledged the bug, and doesn’t seem to be willing to offer us help in finding a workaround, either, but they do seem to have found a way around the problem. Unfortunately, there isn’t much we can do at this time. We apologize for any inconvenience. Please let us know if you have any other questions.



Thank you,
Christopher J. Thibeault
Teebo Software Solutions

http://www.teebo.com

signaler à un administrateur
Commentaire de Rrominet le 09/03/2006 14:18:38

Je suis bien fan de cette source :-)

Je l'ai un peu modifiée pour intégrer quelques petits trucs perso, mais sinon rien à redire, excepté que la transparence ne semble pas fonctionner à chaque exécution de mon EXE (des fois tout le temps, des fois pas du tout...) malgré mon Windows XP.

Mais ce n'est pas ce que je recherche...


Merci ;-)

signaler à un administrateur
Commentaire de Rrominet le 16/03/2006 15:50:21

Juste pour information, j'ai voulu essayer de gérer des contrôles supplémentaires, comme par exemples les "ToolBar" ou bien les "SSDBComboBox" (du pack Sheridan), mais impossible de les afficher.

Je ne suis pas spécialiste du code que tu as écrit et j'avoue avoir un peu de mal à comprendre pourquoi les infos bulle ne s'affichent as sur ces contrôles.



En fait, concernant les ToolBar, j'ai remplacé ce code dans la fonction ApplyToolTip() de ton module "Mod_ToolTip.bas" :

      Let sToolTipText = oFor1.ToolTipText
      If sToolTipText <> "" Then
        'on teste si on veux un tooltip avancé ou pas
        If InStr(1, sToolTipText, "[") > 0 Then
          Let iNombreControles = iNombreControles + 1
        End If
      End If


par celui-ci :
--------------
  If TypeOf oFor1 Is Toolbar Then
    For i = 1 To oFor1.Buttons.Count
      Let sToolTipText = oFor1.Buttons(i).ToolTipText
        If sToolTipText <> "" Then
          'on teste si on veux un tooltip avancé ou pas
          If InStr(1, sToolTipText, "[") > 0 Then
            Let iNombreControles = iNombreControles + 1
          End If
        End If
        DoEvents
      Next i
    Else
      Let sToolTipText = oFor1.ToolTipText
      If sToolTipText <> "" Then
        'on teste si on veux un tooltip avancé ou pas
        If InStr(1, sToolTipText, "[") > 0 Then
          Let iNombreControles = iNombreControles + 1
        End If
      End If
    End If


... en pensant que ça gérerait les infos bulle des mes boutons. Mais du coup les infos bulle apparaissent normalement (style VB) avec tous le code des tiens ("[Title=Aide] [TipText="..."]...).


Merci d'avance si quelqu'un a une idée poue gérer cela ;-)

signaler à un administrateur
Commentaire de Rrominet le 16/03/2006 15:59:53

Oops, j'ai oublié la 2ème partie de la procédure que j'ai modifiée :

J'ai remplacé ce code :
-----------------------
  Let sToolTipText = oFor1.ToolTipText
  GoSub InitToolTip


Par celui-ci :
--------------
  If TypeOf oFor1 Is Toolbar Then
    For i = 1 To oFor1.Buttons.Count
      Let sToolTipText = oFor1.Buttons(i).ToolTipText
      GoSub InitToolTip
      DoEvents
    Next i
  Else
    Let sToolTipText = oFor1.ToolTipText
    GoSub InitToolTip
  End If 'Fin TypeOf()


Merki :-)

signaler à un administrateur
Commentaire de danynous le 03/06/2006 15:49:50

Bonjour, Le tooltip ne fonctionne pas sur mon pc XP
merci de ton aide

@+ et merci pour cette source

signaler à un administrateur
Commentaire de DARKSIDIOUS le 03/06/2006 17:22:49 administrateur CS

Qu'est-ce qui "ne fonctionne pas" ? Si tu veux que je puisse t'aider, il me faudrait plus de détails...

DarK Sidious

signaler à un administrateur
Commentaire de Le Colossal le 17/06/2006 02:47:40

J'ai le même problême (XP Sp2), les tooltips personnalisés ne s'affichent tout simplement pas. Mais cela doit venir de chez moi, d'autres sources utilisant le même principe ne fonctionnent pas non plus.
Dommage ça m'aurait été bien utile : )

signaler à un administrateur
Commentaire de Exploreur le 06/12/2006 19:14:18

Salut Darksidious,

Sympa de faire partager ses connaissances en vb, et de mettre des sources comme celle-ci qui "profite bien" et qui sont facile de compréhension.
10/10
A+
Exploreur

signaler à un administrateur
Commentaire de DARKSIDIOUS le 06/12/2006 19:27:17 administrateur CS

merci exporeur, c'est sympa !

Ca fait belle lurette que je ne poste plus de sources vb6 par manque de temps, mais le vb est toujours dans mon coeur ;)

DarK Sidious

signaler à un administrateur
Commentaire de Lapou le 10/03/2007 10:47:37

Bonjour,

Merci pour cette source...
Je vais posez une question bête : est-ce que je peux transposer cela sur un formulaire dans Access ???
Je suis un débutant mais je trouve très sympa :-)

Merci

signaler à un administrateur
Commentaire de DARKSIDIOUS le 10/03/2007 10:50:34 administrateur CS

et théorie oui : le code est du pur vb avec des appels aux API standards de Windows, donc ce code doit pouvoir être facilement utilisé (avec quelques légères modifications peu-être) sous VBA.

DarK Sidious

signaler à un administrateur
Commentaire de dsodilon le 03/11/2007 18:48:45

Bonjour ,
Débutant en VB.net je cherche depuis un moment un code qui me permet d'afficher un tooltips sur un trait dessiné sur une form  

Ou alors un contrôle qui me permet de faire un trait et comme ça je peux afficher un tooltips

Merci d'avance pour votre aide

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Au Secours - impression [ par bouli ] Lorsque j'envoie le contenu d'un textbox multiligne vers un objet print et que j'imprime cet objet, la première ligne s'imprime au bon endroit (défin fond transparent superposé sur une image [ par lolo ] je voudrais rendre transparent le fond d'un DataCombo que j'ai mis sur une image, pourriez vous me donner la procédure.Merci rendre le blanc transparent [ par CyBeR ] Je cherche comment rendre le blanc d'une image transparent. J'ai essayé plusieur moyen sans succès. Je suis découragé. J'Ai essayé a l'Aide de photo s form transparent [ par moi ] y a t-il moyen de rendre un form transparent? textbox multiligne retour chariot [ par Eric ] Comment aller à la ligne automatiquement dans un textbox multiligne aprés avoir tapé par exemple 10 caractères.merci d'avanceEric éliminer les lignes vide dans un textbox multiligne [ par Eric ] Comment eliminer à l'ouverture les lignes vides dans un textbox multilignes???D'avance MerciEric TextBox Multiligne, comment prendre 50 caractères sans couper un mot... [ par MaTHieU ] Salut,J'ai textbox multiligne, j'ai text dedans, comment prendre des chaines de 50 caractères ( ou mois pour ne pas couper un mot ) et celà sans coupe MAIL TRANSPARENT [ par chris ] bonjour a tousvoila j'aimerais envoyer un mail en toute transparenceje click et hop c'est parti sans voir outlook ou autreje pense que winsok sais le faire devenir une fenêtre transparent [ par morganno ] je recherche qui peux me dire comment on fait pour faire devenir une fenêtre transparent. ça veux dire je mais une image dans mon from et quand j'exéc Noir transparent [ par | - BLAFARD - | ] bon, alors :g 2 pictureboxla premiere devansla seconde derrierecomment faire pour que les zones noires de la bitmap contenue dans la premiere pictureb


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.