Page 1 sur 1
BalloonTip
Publié : sam. 25/sept./2004 16:15
par Anonyme2
En utilisant les BalloonTip générés par visual désigner sur des boutons sous XP avec les thèmes activés, j'ai remarqué ceci
on met la souris sur le bouton, le tooltip est ok puis il s'efface mais après, il ne réapparait plus.
Quelqu'un a-t-il travaillé la-dessus et si oui, y-a-t-il une solution avant que je passe 3 heures dans la doc (j'ai pas envie...)
Merci
Publié : sam. 25/sept./2004 18:13
par Le Soldat Inconnu
Avec Jabpe, ce problème n'existe pas. j'avais déjà remarqué ce problème.
faut dire à fred de regarder ça.
ce problème apparait également avec des tooltips crées par un code sur PureArea qui utilise les Api et pas la fonction de PB.
Publié : dim. 26/sept./2004 6:46
par Anonyme2
Le Soldat Inconnu a écrit :Avec Jabpe, ce problème n'existe pas. j'avais déjà remarqué ce problème.
faut dire à fred de regarder ça.
ce problème apparait également avec des tooltips crées par un code sur PureArea qui utilise les Api et pas la fonction de PB.
La le coup du Jabpe je ne comprend pas ; le code généré par l'éditeur est le même et jabpe utilise le compilateur de fred
Il faut que je cherche dans les paramètres des tooltips, surement une valeur à fixer quelque part...
Publié : dim. 26/sept./2004 8:48
par Lukky
C'est plutôt tooltip que ça s'appelle ?
Mais parle-t-on de la même chose ?
En tout cas voici un code qui marche bien.
Code : Tout sélectionner
;-PureVision Global Variables and Constants
#PB_Flat =$8000
#PB_Image_BorderRaised =$1
Global BubbleTipStyle.l
BubbleTipStyle=0
;-Window Constants
Enumeration 1
#Window_Form1
EndEnumeration
#WindowIndex=#PB_Compiler_EnumerationValue
;-Gadget Constants
Enumeration 1
;Window_Form1
#Gadget_Form1_Button2
EndEnumeration
#GadgetIndex=#PB_Compiler_EnumerationValue
Procedure.l Window_Form1()
If OpenWindow(#Window_Form1,464,245,400,300,#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_Invisible,"Work Form1")
If CreateGadgetList(WindowID(#Window_Form1))
ButtonGadget(#Gadget_Form1_Button2,165,85,60,20,"Button2")
GadgetToolTip(#Gadget_Form1_Button2,"Salut ami figmirèsin")
HideWindow(#Window_Form1,0)
ProcedureReturn WindowID()
EndIf
EndIf
EndProcedure
;-Main Loop
If Window_Form1()
quitForm1=0
Repeat
EventID=WaitWindowEvent()
Select EventID
Case #PB_Event_CloseWindow
If EventWindowID()=#Window_Form1
quitForm1=1
EndIf
Case #PB_Event_Gadget
Select EventGadgetID()
Case #Gadget_Form1_Button2
EndSelect
EndSelect
Until quitForm1
CloseWindow(#Window_Form1)
EndIf
End
Ca marche impec theme activé ou pas.
JL
Publié : dim. 26/sept./2004 8:50
par Jacobus
Salut,
Juste pour info
J'ai eu le même problème (toujours pas résolu) lors de l'utilisation d'un thread dans l'application. Quand le thread est inactif les tooltips fonctionnent et quand il est actif, plus de tooltips, alors que les boutons et fonctions de l'appli restent disponibles.
Est-ce qu'il n'y aurait pas une question de priorité en cause ?

Publié : dim. 26/sept./2004 10:53
par Anonyme2
J'ai XP (pack 2 installé) et j'ai exactement le même problème qu'avec un tooltip en forme de ballon. Ca s'affiche puis si on ne bouge pas la souris le tooltip disparait après un petit délai puis plus moyen de le faire réapparaître.
Sans les thèmes activés, avec ton code, j'ai pas de tooltip sur le bouton.
Publié : dim. 26/sept./2004 11:31
par Lukky
Quand tu dis 'Sans les thèmes activés j'ai pas les tootip' tu parles de quoi ?
La coche 'Activer le support des thèmes XP' dans pure basic ou autre chose ?
Si c'est cette coche la moi ça marche activé ou pas et autant de fois que je veux.
C'est bizarre ton truc, t'as essayé dans d'autres softs avec tooltips ?
JL
Publié : dim. 26/sept./2004 11:52
par Anonyme2
Lukky a écrit :Quand tu dis 'Sans les thèmes activés j'ai pas les tootip' tu parles de quoi ?
La coche 'Activer le support des thèmes XP' dans pure basic ou autre chose ?
Oui, je coche ou non dans les options de compilations la case activer les thèmes XP
Lukky a écrit :Si c'est cette coche la moi ça marche activé ou pas et autant de fois que je veux.
C'est bizarre ton truc, t'as essayé dans d'autres softs avec tooltips ?
JL
Oui, ça marche chez toi et pas chez moi...
Pas grave
le code des tooltip ballon que j'utilise est celui de visual désigner, le voici
Code : Tout sélectionner
Procedure BalloonTip(WindowID, Gadget, Text$ , Title$, Icon)
ToolTip=CreateWindowEx_(0,"ToolTips_Class32","",#WS_POPUP | #TTS_NOPREFIX | #TTS_BALLOON,0,0,0,0,WindowID(WindowID),0,GetModuleHandle_(0),0)
SendMessage_(ToolTip,#TTM_SETTIPTEXTCOLOR,GetSysColor_(#COLOR_INFOTEXT),0)
SendMessage_(ToolTip,#TTM_SETTIPBKCOLOR,GetSysColor_(#COLOR_INFOBK),0)
SendMessage_(ToolTip,#TTM_SETMAXTIPWIDTH,0,180)
Balloon.TOOLINFO\cbSize=SizeOf(TOOLINFO)
Balloon\uFlags=#TTF_IDISHWND | #TTF_SUBCLASS
Balloon\hWnd=GadgetID(Gadget)
Balloon\uId=GadgetID(Gadget)
Balloon\lpszText=@Text$
SendMessage_(ToolTip, #TTM_ADDTOOL, 0, Balloon)
If Title$ > ""
SendMessage_(ToolTip, #TTM_SETTITLE, Icon, @Title$)
EndIf
EndProcedure
Les ballontooltip sont plus jolis que les rectangulaires.
Bon, je vais regarder la doc, mais je pense que le problème vient des thèmes XP.
Publié : dim. 26/sept./2004 13:10
par Le Soldat Inconnu
le problème vient des thèmes XP
c'est que je pense aussi (vu qu'entre l'éditeur de PB et jaPBe, c'est la seule différence)
Publié : dim. 26/sept./2004 17:31
par Lukky
Peut-être mais je ne m'expique pas pourquoi mon code marche à 100% avec ou sans thèmes et pas chez Denis ??
JL
Publié : dim. 26/sept./2004 17:39
par Chris
Moi, j'ai un message du débugger :
#Window Object not initialised.
Et sans le débugger, gros plantage

Publié : dim. 26/sept./2004 18:48
par Le Soldat Inconnu
j'ai exactement le même problème (à condition de compiler sous l'éditeur de PB)
Publié : dim. 26/sept./2004 19:44
par Chris
J'ai trouvé un début de réponse sur le forum anglais, en ce qui concerne le plantage de la procédure BalloonTip de VisualDesigner.
Ilf faut remplacer la ligne:
Code : Tout sélectionner
ToolTip = CreateWindowEx_(0,"ToolTips_Class32","",#WS_POPUP | #TTS_NOPREFIX | #TTS_BALLOON,0,0,0,0,WindowID(WindowID),0,GetModuleHandle_(0),0)
par:
Code : Tout sélectionner
ToolTip = CreateWindowEx_(0,"ToolTips_Class32","",#WS_POPUP | #TTS_NOPREFIX | #TTS_BALLOON,0,0,0,0,WindowID,0,GetModuleHandle_(0),0)
Pour le problème de Denis, rien pour le moment.
J'ai le même comportement, c'est à dire que si le tooltip disparait quand la souris est dessus, il ne réapparait.
Par contre, c'est pareil sur d'autres programmes qui ne sont pas faits avec Pure.