Icone dans un ActiveX

Résolu
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 4 oct. 2011 à 09:32
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 8 oct. 2011 à 11:45
Bonjour,

Dans un contrôle ActiveX de ma fabrication, lors d'un double-clic, j'agrandis mon contrôle et fais apparaître une icone pour le remettre à sa taille initiale.

La 1ère fois, tout se passe bien, mais les fois suivantes, l'icone apparait bien, mais un clic dessus ne déclenche pas l'évènement sous-jacent.

Quelqu'un aurait-il une idée ?
Je précise que mon icone s'affiche via un contôle Image dont la propriété Picture est initialisée (à chaque double-clic) par un LoadResPicture(). Je décharge cette icone à chaque fois, mais j'avais le même problème quand elle était chargée une seule fois à l'initialisation du contrôle.

Merci pour vos réponses


Calade

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 oct. 2011 à 11:24
Etrange que cela marche avec un commandbutton et pas avec un contrôle image.

Et ne n'en vois aucune raison sans voir ton ocx (son projet).
Sauf, peut-être, un truc tout bête :
Un label transparent qui viendrait couvrir en catimini ton contrôle image qui serait visible, mais ne répondrait alors plus au click.
Ce qui n'arrive pas avec un commanbutton car un label laisse un commandbutton lui "passer au travers", ce qui fait qu'un commandbutton ainsi mis derrière un label transparent répond au click, lui.
Et plus j'y pense, plus je pense à un truc comme ça !




____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
7 oct. 2011 à 21:36
Bonjour,

Question, si tu mémorise l'image dans une variable pour éviter de recharger à chaque fois, ça passe ?

Sinon, je n'ai jamais eu ce comportement.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
8 oct. 2011 à 08:54
Salut NHenry,

et merci de ta réponse.

Désolé, mais quel devrait être le type de cette variable.
J'ai essayé avec Image, stdPicture et ça ne passe pas ?


Calade
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 oct. 2011 à 09:41
Bonjour,

Je ne crois pas que ce soit l'image elle-même, qui est concernée.
La 1ère fois, tout se passe bien, mais les fois suivantes, l'icone apparait bien, mais un clic dessus ne déclenche pas l'évènement sous-jacent.

laisse penser à autre chose. (mais quoi ?) dans la conception.
Et par ailleurs : pourquoi décharger l'image à chaque fois ? (mais le problème n'est à mon avis pas là)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

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

Posez votre question
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
8 oct. 2011 à 09:54
Bonjour ucFoutu,

Je serais un peu d'accord avec toi.
Le rechargement de l'image n'est que le fait des mes essais. Au début, elle n'était chargée qu'à l'initialisation. Au vu du problème je la rechargeais à chaque fois sans plus de résultat et pour l'instant c'est resté comme ça.

Quant à l'erreur de conception, c'est aussi ce que je pense, mais je ne vois pas laquelle.

Pour info, mon OCX se veut une gestion simplifiée des TextBox multilignes. Au départ, une seule ligne est affichée, au double-clic, la textbox est agrandie à des dimensions paramétrables pour avoir plusieurs lignes à l'écran. De plus cette fameuse icone s'affiche en haut à droite et un clic dessus remets cette textbox à ses dimensions initiales.

C'est tout simple mais il n'empêche qu'il y a un bug quelque part. De toutes façons, j'ai contourné le problème en mettant un bouton et non plus une image (je l'avais mise pour le côté esthétique en jouant sur la propriété SpecialEffect Flat/Sunken).

Simplement j'aimerais savoir ce qui cloche au moins pour ne pas mourir idiot !

En tout cas merci de votre aide à tous les deux.


Calade
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
8 oct. 2011 à 11:45
En fait ce n'est pas un contrôle qui le cachait, c'est encore plus vicieux que ça.

J'utilise souvent dans mes applis les contrôles fournis par les MSForms à cause de leur propriété transparente que je n'ai pas encore réussi à gérer convenablement par les API et là c'était le cas.

En remplaçant simplement ce contrôle Image par celui fourni en standard par VB, il n'y a plus de problème.

Me reste plus qu'à trouver comment "mimiquez" le comportement de la propriété SpecialEffect Flat/Raised par les API si c'est possible.

En tout cas merci du tuyau ucFoutu, c'est ce qui m'a mis sur la voie.


Calade
0
Rejoignez-nous