[R] Comportement controle "Icon" sans image

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Avatar du membre
mimione
Niveau 4
Niveau 4
Messages : 91
Enregistré le : mer. 30 avr. 2008 18:11
Localisation : Bretagne
Status : Hors ligne

[R] Comportement controle "Icon" sans image

#1

Message par mimione »

Bonjour

J'ai pris l'habitude d'utiliser des controls "Icon" plutôt que des "vrais" boutons lorsque je veux y incorporer une image. La raison est illustrée par mon exemple ci-joint. On observe que le rendu est plus "propre", au moins avec l'image utilisée ici.

Cependant, il y a un comportement que je ne m'explique pas:
1/ Exécutez l'exemple tel quel, puis appuyez sur chaque bouton. Stoppez

2/ Exécutez et testez l'exemple après avoir renommé "Icon 2.ico" en "XIcon 2.ico" par exemple, pour qu'il ne soit plus "vu" pour l'image du bouton.

3/ Exécutez et testez l'exemple après avoir renommé "Icon 1.ico" en "XIcon 1.ico" par exemple, pour qu'il ne soit plus "vu" pour l'image du bouton. .........Saperlipopette !

A votre avis:
1/ Par quel biais le "Case $Icon1 est-il exécuté ?
2/ Comment empêcher ce déclenchement?

Les plus hardis enlèveront le "Sleep (1000)", mais ils l'auront bien cherché... :roll:

Merci, et bonne journée.
Fichiers joints
Test Bouton.zip
le code à télécharger pour essai.
(10.84 Kio) Téléchargé 211 fois
Modifié en dernier par mimione le mer. 21 oct. 2015 18:43, modifié 1 fois.
Je ne suis pas toujours de mon avis....
--------------------------------------------
Des malheurs évités le bonheur se compose.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Comportement controle "Icon" sans image

#2

Message par mikell »

Si ".\Icon 1.ico" n'existe pas :

Code : Tout sélectionner

Global $Icon1 = GUICtrlCreateIcon(".\Icon 1.ico", -1, 36, 20, 48, 48)
Là le controle n'est pas créé, échec donc $Icon1 = 0 et Case $Icon1 (Case 0) fait déclencher le beep en permanence

Code : Tout sélectionner

Global $Icon1 = GUICtrlCreateIcon("", -1, 36, 20, 48, 48)
GUICtrlSetImage(-1, ".\Icon 1.ico", -1)
Là le controle est bien créé mais le clic n'est pas détecté à cause de l'absence d'image donc déclenche pas

Je vois pas bien ce que tu essaies de faire en fait :shock:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
mimione
Niveau 4
Niveau 4
Messages : 91
Enregistré le : mer. 30 avr. 2008 18:11
Localisation : Bretagne
Status : Hors ligne

Re: [..] Comportement controle "Icon" sans image

#3

Message par mimione »

L'exemple que j'ai fourni est un code minimum pour illustrer mon interrogation.

En réalité, j'ai eu ce problème dans une usine à gaz un peu plus compliquée, et lors d'une installation via un téléchargement, l'absence de l'icône (qui avait été oubliée dans le "package"), a provoqué un appel permanent d'une fonction, et j'ai perdu la main non seulement sur le programme, mais également sur la machine. El là, galère pour récupérer la situation.
C'est la raison pour laquelle j'ai voulu comprendre, puis éviter le problème.
L'écriture que tu proposes est un moindre mal (un non fonctionnement au lieu d'un appel permanent), hélas, Koda, que j'utilise pour définir mon interface, utilise la première méthode d'écriture.
Je reste donc sous la menace (pas bien grande il est vrai), d'une disparition d'icône et des désagréments qui vont avec.
Merci cependant pour l'explication.
Je ne suis pas toujours de mon avis....
--------------------------------------------
Des malheurs évités le bonheur se compose.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Comportement controle "Icon" sans image

#4

Message par mikell »

Koda ne fait que te proposer une gui-type que tu peux (dois ?) adapter au mieux
Tu peux aussi faire une simple - mais toujours bienvenue - gestion d'erreur avant de lancer la fonction
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
mimione
Niveau 4
Niveau 4
Messages : 91
Enregistré le : mer. 30 avr. 2008 18:11
Localisation : Bretagne
Status : Hors ligne

Re: [R] Comportement controle "Icon" sans image

#5

Message par mimione »

En effet, la gestion d'erreur s'impose.
Mais il vaut mieux la penser dès le début du projet.

Je ne suis pas très fan de la modification du code généré par Koda, car à chaque reprise de l'interface (corrections/ ajouts, Ajustages), il faut se recoltiner les modifications....

Merci pour les avis. Je >> [R]
Je ne suis pas toujours de mon avis....
--------------------------------------------
Des malheurs évités le bonheur se compose.
Répondre