Novembre 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 |
|
|
| Boutons ronds et rotatifs | |
| | Auteur | Message |
---|
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Boutons ronds et rotatifs Mer 12 Sep 2012 - 9:52 | |
| Bonjour Jack, bonjour à tous les panoramiciens, Je sais que ta todo-list est pleine, mais je trouve qu'il manque à Panoramic 2 objets: Le premier, pourrait s"appeler CIRCLE_BUTTON et pourrait avoir une apparence à peu près comme dans mon petit programme ci-joint. Le caption pourrait soit se mettre au dessus ou au dessous de l'objet ou bien alors centré à l'intérieur comme dans l'objet BUTTON. - Code:
-
dim bouton_a,bouton_b label c166c109a,c166c109b alpha 1:caption 1,"CLIQUEZ SUR LES BOUTONS RONDS!"
alpha 2:left 2,80:top 2,80:font_name 2,"Wingdings":font_size 2,50:font_color 2,255,0,0:caption 2,chr$(109):on_click 2,c166c109a alpha 3:left 3,90:top 3,140:font_name 3,"Consolas":font_size 3,10:font_color 3,255,0,0:caption 3," ARRÊT"
alpha 4:left 4,150:top 4,80:font_name 4,"Wingdings":font_size 4,50:font_color 4,255,0,0:caption 4,chr$(109):on_click 4,c166c109b alpha 5:left 5,160:top 5,105:font_name 5,"Consolas":font_size 5,08:font_color 5,255,0,0:caption 5," ARRÊT":on_click 5,c166c109b
end
c166c109a: if odd(bouton_a)=1 then font_color 2,255,0,0:font_color 3,200,0,0:caption 3," ARRÊT" if even(bouton_a)=1 then font_color 2,0,155,0:font_color 3,0,130,0:caption 3,"MARCHE" caption 2,chr$(166):wait 200:caption 2,chr$(109):bouton_a=bouton_a+1 return
c166c109b: if odd(bouton_b)=1 then font_color 4,255,0,0:font_color 5,200,0,0:caption 5," ARRÊT" if even(bouton_b)=1 then font_color 4,0,155,0:font_color 5,0,130,0:caption 5,"MARCHE" caption 4,chr$(166):wait 200:caption 4,chr$(109):bouton_b=bouton_b+1 return Le second, pourrait s'appeler ROTATING_BUTTON et agirait de la même manière qu'un TRACK_BAR ou un SCROLL_BAR avec la souris. Voici une image de ce à quoi je pense représentant plusieurs types de boutons rotatifs: [img] [/img] A+ | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Boutons ronds et rotatifs Jeu 13 Sep 2012 - 12:33 | |
| Voici 2 programmes qui représentent un bouton rotatif Le premier utilise un scroll_bar pour animer le bouton: - Code:
-
dim i,j label saut j=1 ' Création des numéros for i=-4 to 1 step 0.5 alpha j:font_name j,"Terminal":font_bold j left j,70+60*cos(i) top j,70+60*sin(i) caption j,str$(j-1) j=j+1 next i ' Création des graduations correspondantes aux numéros 2d_pen_width 2 2d_pen_color 0,0,255 for i=-4 to 1 step 0.5:2d_line 70+40*cos(i),70+40*sin(i),70+50*cos(i),70+50*sin(i):next i for i=-4 to 1 step 0.1:2d_line 70+40*cos(i),70+40*sin(i),70+45*cos(i),70+45*sin(i):next i ' Création du bouton et de son marqueur j=-4 2d_pen_width 3:2d_fill_color 200,0,0:2d_circle 70,70,30 2d_line 70,70,70+27*cos(j),70+27*sin(j) alpha number_objects+1:left number_objects,60:top number_objects,110 font_name number_objects,"Arial":font_size number_objects,12 font_color number_objects,200,0,200:font_bold number_objects caption number_objects,str$((j+4)*2) scroll_bar number_objects+1:left number_objects,10:top number_objects,140 width number_objects,130:min number_objects,-40:max number_objects,10 position number_objects,-40
on_change number_objects,saut end
saut: 2d_pen_color 200,0,0 2d_line 70,70,70+27*cos(j),70+27*sin(j) j=position(number_objects)/10 caption number_objects-1,str$((j+4)*2) 2d_pen_color 0,0,255 2d_line 70,70,70+27*cos(j),70+27*sin(j) return
Pour ce second programme, qui se rapproche plus de l'objet voulu, il faut cliquer à l'intérieur du rectangle et bouger la souris vers la droite pour augmenter la valeur tout en restant appuyé sur le bouton gauche de la souris. Pour diminuer la valeur il faut bouger la souris vers la gauche. Le problème c'est qu'il faut appuyer sur esc, cliquer sur le form et cliquer sur la croix rouge pour sortir du programme. Enfin, c'est le principe de l'objet ROTATING_BUTTON que je veux démontrer ici. - Code:
-
dim i,j,x1%,y1%,x2%,y2% label saut j=1
2d_rectangle 30,30,170,170 ' Création des numéros for i=-4 to 1 step 0.5 alpha j:font_name j,"Terminal":font_bold j left j,100+60*cos(i) top j,100+60*sin(i) caption j,str$(j-1) j=j+1 next i display:' mise à jour de l'affichage
' Création des graduations correspondantes aux numéros 2d_pen_width 1 2d_pen_color 0,0,255 for i=-4 to 1 step 0.5 2d_line 100+40*cos(i),100+40*sin(i),100+50*cos(i),100+50*sin(i) next i
' Création du bouton et de son marqueur j=-4 2d_pen_width 3:2d_fill_color 200,0,0:2d_circle 100,100,30 2d_line 100,100,100+27*cos(j),100+27*sin(j)
saut: repeat x1%=mouse_x_position(0):y1%=mouse_y_position(0) until (mouse_left_down(0)=1 and mouse_left_up(0)=0) if (x1%>30 and x1%<170 and y1%>30 and y1%<170) while mouse_left_up(0)=0 2d_pen_color 200,0,0:2d_line 100,100,100+27*cos(j),100+27*sin(j) x2%=mouse_x_position(0):y2%=mouse_y_position(0) if x2%>x1% j=j+0.2:if j>1 then j=1 end_if if x2%<x1% j=j-0.2:if j<-4 then j=-4 end_if 2d_pen_color 0,0,255:2d_line 100,100,100+27*cos(j),100+27*sin(j):pause 100 x1%=x2%:y1%=y2% end_while end_if if scancode=27 then end goto saut end
A+ | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 13 Sep 2012 - 13:00 | |
| une petite suggestion, au lieu de cliquer dans le rectangle qui est carré, tu peux mettre 2 petits boutons "+" et "-" avec une fonction d'ajout ou de retrait tant que le bouton est cliqué. le deuxième exemple, on arrive plus à fermer la fenêtre... | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Boutons ronds et rotatifs Jeu 13 Sep 2012 - 13:42 | |
| @bignono, on doit pouvoir coder des sub avec une mage de fond pour le bouton qui serait encodée (exemple encodage sur 64 bits ou celui de ygeronimi en data) et un curseur dessiné dessus. Ce serait pas natif, (mais bon, tout le monde ne se sert pas de potentiomètres) mais dans une librairie de procédures (ou dans la DLL de Klaus ?) | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Boutons ronds et rotatifs Jeu 13 Sep 2012 - 22:22 | |
| Bonsoir Jicehel, Le bouton rotatif, comme un potentiomêtre, je le propose, car si il est réduit, cela peut constituer un gain de place par rapport à un scroll_bar ou un bouton classique. En ce momment je travaille sur un programme personnel, où je suis obligé d'avoir plein de scroll_bar, track_bar et boutons dans tous les sens pour avoir accès à plein de règlages, et ça me prend la moitié de l'écran. Et si je réduit trop mes scroll_bar, le règlage n'est plus précis du tout, il faut cliquer des dizaines de fois sur les boutons extrêmes pour faire le règlage! Ça me prend la tête. Enfin, je ne sais pas si se serait plus précis avec un potentiomêtre? C'est à voir! | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Boutons ronds et rotatifs Jeu 13 Sep 2012 - 22:46 | |
| Ce que je voulais dire bignono, c'est qu'en attendant que Jack le rajoute éventuellement, on pouvait le coder. On doit pouvoir faire un sub potentiometre(x%,y%,r%,val_max%,num_obj%) pour dessiner le potentiomètre dans la picture num_obj% Il faudrait un on_clic sur num_obj% pour traiter le clic et qui modifie la valeur selon le déplacement de la souris effectué. Ce n'est pas évident, mais c'est codable, je pense. | |
| | | Invité Invité
| Sujet: Re: Boutons ronds et rotatifs Jeu 13 Sep 2012 - 22:52 | |
| |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Boutons ronds et rotatifs Ven 14 Sep 2012 - 8:53 | |
| Bonjour Cosmos, C'est super cette glissière à icones. J'ai pas tellement regardé les programmes en détail, mais ça parait pas simple à gérer. Mais quand j'aurais un peu plus de temps, je verrais ce qu'on peu faire avec les sub. Ça devrait faciliter les choses. En tout cas merci pour ces programmes, ils sont très interressants! A+ | |
| | | Invité Invité
| Sujet: Re: Boutons ronds et rotatifs Ven 14 Sep 2012 - 10:37 | |
| Merci bien. J'en étais encore à l'époque à mes début en Panoramic. Certainement qu'aujourd'hui ce serait mieux conçu
De plus pour ce programme, j'avais exprès de cacher du codage en les mettant au bout des lignes, juste pour qu'on soit surpris du résultat par rapport au source. Une plaisanterie!
(je m'étais trompé de post)
Il y a une chose qu'il faut dire: c'est qu'à l'époque on n'avait pas le basic d'aujourd'hui. J'ai eu quelque mal à remplir les formes. Il fallait que je fasse des rectangles remplis ou cercles, avec des lignes pour remplir une forme complexe. L'instruction: 2d_floor n'existait pas. Il devait je pense avoir dans les 350 instructions, avec peut-être car je ne sais qu'en cela a été levé, des limitations. Une instruction mid$() par exemple de testait que les 200 premiers caractères. J'ai eu de la chance, mon premier programme: le jardin potager, il y avait une limitation de 30 objets, ainsi je crois 200 variables (y compris l'indice d'un tableau) au mois d’août 2009. La limitation a été levée en septembre. Donc certainement les premiers programmes qu'on a diffusé a l'époque, pourrait être repris. |
| | | Contenu sponsorisé
| Sujet: Re: Boutons ronds et rotatifs | |
| |
| | | | Boutons ronds et rotatifs | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |