Avril 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | | Calendrier |
|
| | Fonctionnement des cde cursor_#### | |
| | Auteur | Message |
---|
Nardo26
Nombre de messages : 2294 Age : 55 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Fonctionnement des cde cursor_#### Mer 29 Sep 2010 - 14:52 | |
| Bonjour à tous ! Je n'arrive pas à changer la forme de la souris lors d'un traitement... J'ai fait un petit exemple qui apparemment ne fonctionne pas... comment faire ? - Code:
-
label traitement dim i%
button 1:caption 1,"Start" list 2:top 2,height(1)+10 on_click 1, traitement
end
traitement: cursor_hourglass 2 cursor_hourglass 0 ' a partir de là, je m'attend à ce que le pointeur de souris ' se transforme en sablier... ce qui n'est pas le cas... for i%=0 to 1000 item_add 2,str$(i%) caption 0,"item "+str$(i%) next i% caption 1,"Fini!" wait 2000 : ' la fonction wait change le pointeur, mais si on l'enlève : nada ! caption 1,"Start" ' pointeur normal... cursor_arrow 2 cursor_arrow 0 return
| |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Fonctionnement des cde cursor_#### Mer 29 Sep 2010 - 15:28 | |
| Bonjour Nardo, ça semble pourtant marcher chez moi. En réalité (sous Vista) ce n'est pas vraiment un sablier mais une espèce de rondelle bleue qui tourne. Essaye avec cursor_noparking, tu verras mieux.. Rectification: effectivement, tu as raison, si on enlève le wait, le curseur ne change pas de forme... Mais si tu rajoutes dans ton sous-programme respectivement cursor_hourglass 1 et cursor_arrow 1, là ça marche ! Et tu peux supprimer les hourglass 0 et 2 et les arrow 0 et 2 qui ne servent à rien ! puisque tu cliques sur le bouton, c'est le curseur actif qui doit changer. C'est ce que tu veux je suppose: avoir un sablier pendant la durée du traitement, et normal après. - Code:
-
label traitement dim i%
button 1:caption 1,"Start" list 2:top 2,height(1)+10 on_click 1, traitement end
traitement: clear 2 cursor_hourglass 1 for i%=0 to 3000 item_add 2,str$(i%) caption 0,"item "+str$(i%) next i% caption 1,"Start" cursor_arrow 1 return
Dernière édition par JL35 le Mer 29 Sep 2010 - 15:48, édité 1 fois | |
| | | Nardo26
Nombre de messages : 2294 Age : 55 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Fonctionnement des cde cursor_#### Mer 29 Sep 2010 - 15:47 | |
| Merci JL35 ! En effet il semblerai que cursor_### fonctionne en fct de l'objet qui a provoqué l'évènement. D'après la doc: la fonction cursor_hourglass N change le pointeur de souris si celle-ci passe sur l'objet N. Bon, franchement, cela m'arrange que cela fonctionne comme cela: Je me voyais mal mettre des cursor_xxx sur tous les objets de mon interface pendant le traitement... | |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Fonctionnement des cde cursor_#### Mer 29 Sep 2010 - 15:49 | |
| C'est vrai que la doc n'est pas très claire là-dessus, et le fonctionnement tel qu'il est est plus satisfaisant ! et plus logique. | |
| | | Nardo26
Nombre de messages : 2294 Age : 55 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Fonctionnement des cde cursor_#### Jeu 30 Sep 2010 - 9:52 | |
| Hello ! Je pensais avoir compris le fonctionnement des commandes cursor_### mais il n'en est rien! Dans l'exemple ci-dessous, suivant la nature de l'objet qui a déclenché l'évènement, les commandes cursor_### ne sont pas prisent en compte... - Code:
-
label start1 label start2
dim i%
button 1:left 1,10:caption 1,"Start 1" on_click 1,start1
picture 2:top 2,height(1)+top(1)+10:left 2,10:height 2,20:width 2,width(1) on_click 2,start2: print_target_is 2:print " Start 2"
end
start1: cursor_hourglass 1 for i%=0 to 1000 caption 0,str$(i%) next i% cursor_arrow 1 return
start2: cursor_hourglass 2 for i%=1000 to 0 step -1 caption 0,str$(i%) next i% cursor_arrow 2 return
Je n'essaye pas de couper les cheveux en 4 : j'ai intégrer dans mon programme une barre d'outils "à la D.J Peters" (voir ici) qui s'appuie sur des pictures. Un évènement 'on_click' est associé à chaque picture. Comme certaines des procédures qui sont lancées derrière peuvent être parfois longue, je souhaite signaler à l'utilisateur que le traitement est en cours en changeant la forme du pointeur de souris. Malheureusement il est difficile d'estimer la durée d'exécution de ces procédures, je ne peut pas mettre en place une barre de progression (ce qui aurait été plus sympa) | |
| | | Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Fonctionnement des cde cursor_#### Jeu 30 Sep 2010 - 11:37 | |
| Oui c'est vrai qu'il y a des trucs bizarres remplace en ligne 28 cursor_arrow 2 par cursor_help 2 et tu constateras que dès que tu auras cliqué, au moins une fois, sur start 2 le cursor_help reste en fonction à chaque survol de la souris dans le picture 2 . Ce qui veut dire que dans le label start2 seul la 2ème fonction cursor est prise en compte. En écrivant il m'est venu une idée: utiliser wait à la ligne 24 et là Euréka! - Code:
-
label start1 label start2
dim i%
button 1:left 1,10:caption 1,"Start 1" on_click 1,start1
picture 2:top 2,height(1)+top(1)+10:left 2,10:height 2,20:width 2,width(1) on_click 2,start2: print_target_is 2:print " Start 2"
end
start1: cursor_hourglass 1 for i%=0 to 1000 caption 0,str$(i%) next i% cursor_arrow 1 return
start2: cursor_hourglass 2 : wait 1 for i%=1000 to 0 step -1 caption 0,str$(i%) next i% cursor_arrow 2 return
Et là, çà marche. Mais ne me demande pas pourquoi cà marche au label start1 sans Wait et pas au label start2,je serais incapable de te répondre... Cela ressemblerait bien à un BUG A+ | |
| | | Nardo26
Nombre de messages : 2294 Age : 55 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Fonctionnement des cde cursor_#### Jeu 30 Sep 2010 - 11:57 | |
| ok merci jean claude ! Je fais le test... | |
| | | Contenu sponsorisé
| Sujet: Re: Fonctionnement des cde cursor_#### | |
| |
| | | | Fonctionnement des cde cursor_#### | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |