Clic sur objet non cliquable

cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 - 4 févr. 2009 à 16:10
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 - 5 févr. 2009 à 16:20
Bonjour à Tous,


Pour un programme météo j'utilise un contrôle image qui me sert de container pour 24 labels et 12 ocx (gif89)  qui permettent d'afficher des gifs animés mais malheureusement ce contrôle ne possède pas les évènements Click, MouseDown, etc...


 MER 02 JAN
  ---------
  |       |
  |  OCX  |  symbole météo animé
  |       |
  ---------
     4°


Au-dessus et en dessous de chaque gif il y a un label sur lesquel je peux évidement cliquer, ce qui permet de récupérer les données complètes du jour.
J'aurais voulu quand même pouvoir cliquer sur le gif, ce qui est plus pratique que de pointer sur un des deux labels.


Auriez-vous une astuce pour détecter malgré tout un clic sur le composant ? sachant évidement que l'image container n'est bien sûr cliquable qu'en dehors de la zone des labels et du composant.


Je vous remercie par avance et vous souhaite une bonne journée.


Bien amicalement de Cheyenne

12 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 févr. 2009 à 16:28
en jouant avec:
http://www.vbfrance.com/codes/OCX-GIF-ANIME_42325.aspx

tu pourras te passer de GIF89
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
4 févr. 2009 à 16:38
Merci Renfield pour cette réponse rapide.
Je vais voir ça de suite et valide ton conseil si cela me convient.

Bonne prog,

Cheyenne
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
4 févr. 2009 à 17:09
Reinfield,

Merci pour ce contrôle.

J'ai mis la propriété IsPlaying à True mais l'animation ne se fait pas en continu.
A chaque changement de gif l'animation se fait très rapidement et sans moyen d'en contrôler la vitesse et le gif reste affiché avec sa dernière frame.
Il y a-t'il quelque chose qui m'aurait échappé ?

@+ Cheyenne
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
4 févr. 2009 à 22:28
Bonjour,

En fait ce que je cherche à obtenir serait plutôt de connaitre la position de la souris lors d'un clic sur un objet non cliquable comme ce composant Gif89. A partir de là je peux calculer sur quel objet le clic a été fait.

Merci d'avance pour vos éventuelles solutions.

Cheyenne
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 févr. 2009 à 00:49
étrange...

je viens de prendre mon zip, je l'extraies, ouvres le fichier .vbg
je met la propriété IsPlaying du controle GIF de la Form1 à True

je lance, les animations tournent en boucle.

et ça ne fait pas de même si tu ouvre tes gifs dans mon contrôle ?
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
5 févr. 2009 à 11:24
Bonjour Renfield,

Merci d'avoir contrôlé sur ton PC et c'est exact cela ne fait pas de même en ouvrant soit tes gifs de démo soit mes gifs dans ton contrôle : animation puis arrêt sur la dernière frame.
VB6 est bien lancé depuis Groupe1.vbg.

Notes que je suis sous Win98SE (ceci expliquant peut-être cela ) et que la dll gdiplus est bien installée (fonctionne avec d'autres programmes).

Si tu veux bien jeter un oeil sur mon précédent post (juste avant ta dernière réponse) concernant la position de la souris sur un objet non cliquable je t'en serai reconnaissant.

Bonne journée à toi,

Bien amicalement de Cheyenne
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 févr. 2009 à 11:36
a voir si le controle GIF93 fournit un hWnd ou non.
sans cela, tu vas devoir le récupérer, et tu pourras alors le subclasser, pour récuperer le WM_LMOUSEDOWN

comme tu le vois, c'est loin d'être partie gagnée. C'est pour ça que je t'incites à utiliser l'autre contrôle.

Si tes gifs ne bouclent pas, c'est peut etre un soucis interne au fichiers image.
l'option continuous loop ne doit pas être activée.

et fort à parier que cela fonctionne avec Gif93, parce que ce dernier n'exploite pas cette info.
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
5 févr. 2009 à 12:05
Hélas le Gif89 ne fournit pas de Hwnd et ne possède que 5 évènements DragDrop, DragOver, GotFocus, LostFocus et Validate.

- Si tes gifs ne bouclent pas, c'est peut etre un soucis interne au fichiers image
Je ne pense pas car toute ma collection de divers gifs animés ne fonctionne pas non plus dans ton contrôe alors que c'est ok avec d'autres applis. De plus tes gifs démo ne bouclent pas non plus et pourtant ils s'animent bien en boucle ailleurs.

Tant pis je vais continuer à cliquer sur les labels !

Merci quand même pour ton aide,

Cheyenne
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 févr. 2009 à 12:08
mes gifs démos ne bouclent pas chez toi ?

ils tournent au poil chez moi...

(je suis en train de modifier mon controle gif, pour pouvoir spécifier son propre LoopCount)
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
5 févr. 2009 à 12:30
Oui, effectivement, tes gifs démo ne bouclent pas et ce uniquement dans ton contrôle.

- (je suis en train de modifier mon controle gif, pour pouvoir spécifier son propre LoopCount)

Ah, en voilà une idée qu'elle est bonne !!! et avec 0 pour l'infini, je présume ?
Et, cerise sur le gâteau, une propriété pour la vitesse...

Bonne programmation,

Cheyenne
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 févr. 2009 à 15:26
http://www.vbfrance.com/codes/OCX-GIF-ANIME_42325.aspx

mais normallement, ca devais tourner en boucle, déjà d'origine...
je me sert pas non plus du flag LoopCount ^^
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
5 févr. 2009 à 16:20
Hello Renfield,

Je viens d'essayer la nouvelle version de ton contrôle... Hélas, 3 fois hélas, le résultat est le même !
Lecture x fois n'a, ici, aucun effet. Cela lit très rapidement toutes les frames et le gif s'arrête tout pareil à la dernière comme avec l'option lecture en boucle. Par contre le slider pour les frames les fait bien afficher une par une et le sens inverse fonctione mais le slider de vitesse n'agit pas du tout.
J'ai modifié le LargeChange de tous les sliders de 5 à 1, plus pratique.

Merci pour ces nouvelles fonctionalités bien q'elles ne me soient d'aucun secours malgré tout le mal que tu t'es donné. Mais cela ravira les utilisateurs pour qui ton contrôle fonctinne bien chez eux.

Bien amicalement de Cheyenne.
0
Rejoignez-nous