Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: @ Klaus Lun 30 Juil 2012 - 13:58 | |
| Klaus,
Je viens de regarder ta dll sur "MouseOperation.dll" Dans ton test.bas tu emploies dll_call 0 mais je n'y ai pas trouvé d'explications dans la doc "Autres dll".
Pourrais tu me dire à quoi correspondent les messages de retour ?
(Je cherche à récupérer la position (top,left) d'un objet picture sur une form d'après un click gauche sur cet objet mais toutes ces données retournées dans les messages pourraient avoir une utilité.) | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: @ Klaus Lun 30 Juil 2012 - 19:36 | |
| Dans cette DLL, les fonctions retournent systématiquement la valeur 0 (zéro), qui n'a d'ailleurs aucune signification. Pour récupérer TOP et LEFT du pictire sur lequel tu as cliqué, tu fais ceci, dans la routine ON_CLICK: - Code:
-
t% = top(number_click) l% = left(number_click)
à moins que j'aie mal compris ton message... | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 30 Juil 2012 - 21:21 | |
| ce serait trop simple ... je voudrais : on_click souris > n° picture clicked ,top picture, left picture | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: @ Klaus Lun 30 Juil 2012 - 22:56 | |
| Je ne comprends décidément pas ce que tu cherches. Si tu fais un ON_CLICK sur chacun des PICTURE, avec le même label de sorte à n'avoir qu'une seule routine évènement. Et dans cette routine, tu places les deux lignes de mo message précédent. La variable système NUMBER_CLICK donne toujours le numéro d'objet sur lequel on a cliqué, et les deux lignes te donnent TOP et LEFT... N'est-ce pas ce que tu cherches ? Regarde ceci: - Code:
-
label clic dim t%, l%, s$
picture 1 : top 1,10 : left 1,20 : on_click 1,clic picture 2 : top 2,150 : left 2,30 : on_click 2,clic
end
clic: t% = top(number_click) l% = left(number_click) s$ = "On a cliqué sur picture "+str$(number_click)+chr$(13)+chr$(10) s$ = s$ + "Left="+str$(l%)+" top="+str$(t%) message s$ return
| |
|
Invité Invité
| Sujet: Re: @ Klaus Lun 30 Juil 2012 - 23:15 | |
| 'ai pas voulu répondre, car moi aussi je ne comprend pas. J'avais ce teste, il y a au moins un an: tiens j'ai pas la barre des attributs et code. On va essayer manuellement: - Code:
-
' essais de connaitre l'objet parcouru par la souris width 0,700 dim a,b,c,d,a$,b$,c$,d$ label fixe , hint ,arret ,cest_edit10, cest_memo11, cest_memo12 , cest_grid1 b=1 grid 1:GRID_COLUMN 1,2:GRID_ROW 1,10 :left 1,210:width 1,200 GRID_WRITE 1,1,1,"objet":GRID_WRITE 1,1,2,"position" a=1:gosub fixe
a=10:edit a:top a,10:left a,5 :width a,130:height a,30 :gosub fixe a=11:memo a:top a,50:left a,10 :width a,200:height a,100:gosub fixe a=12:memo a:top a,160:left a,10 :width a,200:height a,50:gosub fixe a=14:combo a:top a,220:left a,10:width a,100:gosub fixe ' message "nombre d'objet:"+str$(NUMBER_OBJECTS) alpha 13:top 13,height(0)-50:width 13,width(0)-40:color 13,255,255,255:font_size 13,10
timer 20:timer_interval 20,200:on_timer 20,hint ' on_error_goto arret end
fixe: b=b+1 GRID_WRITE 1,b,1,str$(a)
GRID_WRITE 1,b,2,0 return
hint: clear 11 for a=2 to NUMBER_OBJECTS if GRID_READ$(1,a,1)="" then exit_for a$= GRID_READ$(1,a,1) : b=val(a$) : b$=GRID_READ$(1,a,2) if MOUSE_X_POSITION( b)<> val(b$) text 10,"objet:"+a$+" heure:"+time$ :GRID_WRITE 1,a,2,mouse_x_position(b) if c<> a select a case 2:gosub cest_grid1 case 3:gosub cest_edit10 case 4:gosub cest_memo11 case 5:gosub cest_memo12 end_select end_if c=a end_if next a return arret: timer_off 20 return
cest_edit10:
caption 13,"on bouge la souris sur l'édit 10":return cest_memo11:
caption 13,"on parcourt la souris sur le memo 11":return cest_memo12:
caption 13,"on parcourt la souris sur le memo 12":return cest_grid1:
caption 13,"on parcourt la souris sur l'objet GRID":return
Bon ça marche: Selon le déplacement de la souris sur tel ou tel objet, on connait la position par rapport à l'objet. J'avais fait un programme personnel, et l'avait une aide directe sur chaque objet, par rapport à la souris. |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 30 Juil 2012 - 23:51 | |
| Grrr...! C'est de ma faute, je ne fais pas beaucoup de jeu et je ne me sers pas assez des dernières commandes du coup je les zappe régulièrement. Faut que je reprenne la lecture de toutes les commandes . | |
|