Icone dans un ActiveX [Résolu]

Signaler
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
-
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
-
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

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
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
Messages postés
14673
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
28 juin 2020
143
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
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
9
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
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
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
9
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
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
9
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