FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» PANORAMIC V 1
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar papydall Aujourd'hui à 5:28

» Je teste PANORAMIC V 1 beta 1
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar papydall Aujourd'hui à 2:48

» bouton dans autre form que 0
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar leclode Hier à 13:59

» KGF_dll - nouvelles versions
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar Klaus Hier à 11:41

» Gestion d'un système client-serveur.
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar Klaus Hier à 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Comment récupérer le N° de l'objet sous la souris ? [Résolu] Emptypar jjn4 Lun 22 Avr 2024 - 13:43

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -29%
PC portable – MEDION 15,6″ FHD Intel i7 ...
Voir le deal
499.99 €

 

 Comment récupérer le N° de l'objet sous la souris ? [Résolu]

Aller en bas 
4 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7004
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Comment récupérer le N° de l'objet sous la souris ? [Résolu] Empty
MessageSujet: Comment récupérer le N° de l'objet sous la souris ? [Résolu]   Comment récupérer le N° de l'objet sous la souris ? [Résolu] EmptySam 23 Mai 2020 - 5:06

Comment récupérer le N° de l'objet sous la souris ? scratch

Code:
dim i
label move
for i = 10 to 30 step 10
    button i : top i,50 : left i,10*i : caption i,str$(i) : on_mouse_move i,move
next i
end
rem ============================================================================
Move:
    ' Dans l'hypothèse où j'ai déplacé la souris sur le bouton 20, existe-il
    ' un moyen simple pour récupérer le N° du bouton sous la souris qui est 20 ?
return
rem ============================================================================


Je peux déterminer les coordonnées de la souris par
x = mouse_x_position(0)
y = mouse_y_position(0)

puis comparer x et y avec les différentes plages des coordonnes des différents boutons, mais pour un nombre de boutons supérieur à 2 ou 3 (voir plus), la tâche devient décourageante.

REM : ce n’est pas obligatoire que l’objet soin un button.
Tout autre objet peut faire l’affaire à condition qu’il accepte les commandes ON_MOUSE_MOVE et ON_CLICK


Dernière édition par papydall le Dim 24 Mai 2020 - 22:58, édité 2 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Pedro

Pedro


Nombre de messages : 1555
Date d'inscription : 19/01/2014

Comment récupérer le N° de l'objet sous la souris ? [Résolu] Empty
MessageSujet: Récupération de l'objet sous la souris.   Comment récupérer le N° de l'objet sous la souris ? [Résolu] EmptySam 23 Mai 2020 - 8:04

Bonjour.

Il semble que la commande number_mouse_move soit inactive, bien qu'elle soit prévue dans la version V 0.9.29i7 du 15/03/2019 !!

Code:
dim x%

button 1
button 2:left 2,300
while 0=0
      caption 0,str$(number_mouse_move)
end_while
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Comment récupérer le N° de l'objet sous la souris ? [Résolu] Empty
MessageSujet: Re: Comment récupérer le N° de l'objet sous la souris ? [Résolu]   Comment récupérer le N° de l'objet sous la souris ? [Résolu] EmptySam 23 Mai 2020 - 10:28

Pedro a raison, Jack a codé des commandes pour les derniers events. Il s'agit de NUMBER_MOUSE_MOVE, NUMBER_MOUSE_DOWN, NUMBER_MOUSE_UP. Mais il a tellement trifouillé la version 0929i9 qui affolait les antivirus que ces fonctions(et peut être d'autres aussi) ne marchent plus Sad
C'est pour cette raison que je suis repassé à la version 0929i8.

EDIT :
Pour mémoire, voici une liste des commandes/fonctions. Elle contient celles que l'on a un peu perdu de vue en route mais aussi des non documentées(avis aux testeurs et aux curieux Very Happy ):
Code:
2D_ARC
2D_CIRCLE
2D_CLEAR
2D_ELLIPSE
2D_FILL_COLOR
2D_FILL_CROSS
2D_FILL_DIAGONAL_CROSS
2D_FILL_DIAGONAL_DOWN
2D_FILL_DIAGONAL_UP
2D_FILL_HORIZONTAL
2D_FILL_OFF
2D_FILL_ON
2D_FILL_SOLID
2D_FILL_VERTICAL
2D_FLOOD
2D_IMAGE_COPY
2D_IMAGE_PASTE
2D_LINE
2D_PEN_COLOR
2D_PEN_DASH
2D_PEN_DASH_DOT
2D_PEN_DASH_DOT_DOT
2D_PEN_DOT
2D_PEN_SOLID
2D_PEN_WIDTH
2D_POINT
2D_POLY_FROM
2D_POLY_TO
2D_RECTANGLE
2D_TARGET_IS
3D_ACTOR
3D_ANIMATION_LOOP   :' NON TESTÉ
3D_ANIMATION_PLAY   :' NON TESTÉ
3D_ANIMATION_STOP   :' NON TESTÉ
3D_BOX
3D_CHAIN
3D_CHAIN_BREAK
3D_COLLISION_AS_CUBE
3D_COLLISION_AS_ELLIPSOID
3D_COLLISION_AS_FACES
3D_COLLISION_AS_POINT
3D_COLLISION_AS_SPHERE
3D_COLOR
3D_CONE
3D_CUBE
3D_CYLINDER
3D_DELETE
3D_DELETE_ALL
3D_DODECAHEDRON
3D_HIDE
3D_IMAGE_TEXTURE
3D_LINE
3D_LINE_WIDTH
3D_LOAD_OBJECT
3D_LOAD_TEXTURE
3D_LOAD_TEXTURE_BACK
3D_LOAD_TEXTURE_BOTTOM
3D_LOAD_TEXTURE_FRONT
3D_LOAD_TEXTURE_LEFT
3D_LOAD_TEXTURE_RIGHT
3D_LOAD_TEXTURE_TOP
3D_MESH
3D_MOVE
3D_PLANE
3D_POINT_OBJECT
3D_POSITION
3D_ROTATE
3D_SCALE
3D_SHOW
3D_SKYBOX
3D_SPHERE
3D_TARGET_IS
3D_TEAPOT
3D_TEXT
3D_TEXT_CHANGE
3D_TORUS
3D_TRANSPARENT
3D_U_TILE
3D_V_TILE
3D_X_POSITION
3D_X_ROTATE
3D_X_SCALE
3D_Y_POSITION
3D_Y_ROTATE
3D_Y_SCALE
3D_Z_POSITION
3D_Z_ROTATE
3D_Z_SCALE
ABS
ACOS
ACTIVE
ADR
ADR_VARTAB  :' POUR TABLEAU
ALPHA
AND
APPLICATION_TITLE
ARCHIVER_ADD
ARCHIVER_EXTRACT
ARCHIVER_OFF
ARCHIVER_ON
ASC
ASIN
ATN
AXES_HIDE
AXES_SHOW
BAR_BOTH
BAR_HORIZONTAL
BAR_NONE
BAR_VERTICAL
BEEP
BEEP_ERROR
BEEP_EXCLAMATION
BEEP_INFORMATION
BEEP_QUESTION
BIN_AND
BIN_OR
BIN_XOR
BORDER_COLOR  :' SHAPE
BORDER_HIDE
BORDER_NORMAL
BORDER_SMALL
BORDER_WIDTH  :' SHAPE
BRIGHTNESS
BUTTON
BUTTON_PICTURE
BUTTON_PICTURE_TARGET_IS_OBJECT
BUTTON_PICTURE_TARGET_IS_PICTURE
CAM_MOVE
CAM_PITCH
CAM_POSITION
CAM_ROLL
CAM_TURN
CAM_X_POSITION
CAM_Y_POSITION
CAM_Z_POSITION
CAPTION
CAPTION$
CARET_POSITION
CARET_X_POSITION   :' POUR MEMO,MEMO_RICH,SYNEDIT
CARET_Y_POSITION   :' POUR MEMO,MEMO_RICH,SYNEDIT
CASE
CHAIN
CHART
CHART_BAR
CHART_LINE
CHART_POINT
CHECK
CHECKED
CHECKED_MENU
CHECKED_OPTION
CHR$
CLEAR
CLICKED
CLIPBOARD_COPY
CLIPBOARD_CUT
CLIPBOARD_PASTE
CLIPBOARD_STRING_COPY
CLIPBOARD_STRING_PASTE$
CLOSE_ACTIVE     :' POUR CROIX DE FERMETURE DU FORM 0
CLOSE_INACTIVE   :' POUR CROIX DE FERMETURE DU FORM 0
CLS
COLOR
COLOR_PIXEL_BLUE
COLOR_PIXEL_GREEN
COLOR_PIXEL_RED
COMBO
COMMAND   :' POUR LIBRARY
COMMAND_TARGET_IS
CONTAINER
CONTAINER_OPTION
CONTAINER_TAB
CONTENT_COPY
CONTRAST
COS
COUNT
CREATE_HIDE
CREATE_SHOW
CURSOR_ARROW
CURSOR_BEAM
CURSOR_CROSS
CURSOR_DEFAULT
CURSOR_HELP
CURSOR_HIDE
CURSOR_HOURGLASS
CURSOR_NOPARKING
CURSOR_POINT
CURVE_ANGLE :' angle_courant=CURVE_ANGLE(angle_cible,angle_courant,vitesse)
CURVE_VALUE :' v_courante=CURVE_VALUE(v_cible,v_courante,vitesse)
DATA
DATE$
DATE_DAY
DATE_MONTH
DATE_YEAR
DEGREE_TO_RADIAN
DEGREES
DELETE
DELETE_ALL
DIGIT1
DIM
DIM_LOCAL
DIR_CHANGE
DIR_CURRENT$
DIR_DIALOG
DIR_EXISTS
DIR_MAKE
DIR_REMOVE
DISK_EXISTS
DISK_KILO_FREE
DISK_KILO_SIZE
DISPLAY
DLIST
DLL_CALL0
DLL_CALL1
DLL_CALL2
DLL_CALL3
DLL_CALL4
DLL_CALL5
DLL_CALL6
DLL_OFF
DLL_ON
DLL_PROCEDURE   :' DLL_PROCEDURE N,N,... ?
DO
DOUBLE_CLICKED
DROP_DOWN  :' COMBO, MAIN_MENU_POP
EDIT
ELSE
END
END_FNC
END_IF
END_SELECT
END_SUB
END_WHILE
ENVIRONMENT$
ERROR_ENGLISH
ERROR_FRENCH
ERROR_LINE
ERROR_NUMBER
ERROR_TYPE$
EVEN
EXCEL_FILE_CLOSE
EXCEL_FILE_NEW
EXCEL_FILE_OPEN
EXCEL_FILE_SAVE       :' NON TESTÉ
EXCEL_FILE_TARGET_IS  :' NON TESTÉ
EXCEL_READ$
EXCEL_READ_FORMULA$   :' NON TESTÉ
EXCEL_READ_MATRIX$    :' NON TESTÉ
EXCEL_READ_MATRIX_FORMULA$ :' NON TESTÉ
EXCEL_SHEET_TARGET_IS :' NON TESTÉ
EXCEL_START
EXCEL_STOP
EXCEL_WRITE
EXCEL_WRITE_FORMULA  :' NON TESTÉ
EXCEL_WRITE_MATRIX   :' NON TESTÉ
EXCEL_WRITE_MATRIX_FORMULA :' NON TESTÉ
EXECUTE
EXECUTE_WAIT
EXIT_FNC
EXIT_FOR
EXIT_REPEAT
EXIT_SUB
EXIT_WHILE
EXP
FILE_ADD
FILE_ARCHIVE
FILE_ARCHIVE_OFF
FILE_CLOSE
FILE_COPY
FILE_DELETE
FILE_DIALOG
FILE_EOF
FILE_EXISTS
FILE_EXTRACT_DISK$
FILE_EXTRACT_EXTENSION$
FILE_EXTRACT_NAME$
FILE_EXTRACT_PATH$
FILE_FIND_CLOSE
FILE_FIND_FIRST$
FILE_FIND_NEXT$
FILE_HIDE
FILE_HIDE_OFF
FILE_LOAD
FILE_MOVE
FILE_NAME$
FILE_OPEN_APPEND
FILE_OPEN_READ
FILE_OPEN_WRITE
FILE_READ
FILE_READ$      :' NON TESTÉ
FILE_READ_ONLY
FILE_READ_ONLY_OFF
FILE_READBUF
FILE_READLN
FILE_READLN$
FILE_RENAME
FILE_SAVE
FILE_SYSTEM
FILE_SYSTEM_OFF
FILE_VARIABLES  :' NON TESTÉ
FILE_WRITE
FILE_WRITEBUF
FILE_WRITELN
FILEBIN_BLOCK_READ
FILEBIN_BLOCK_WRITE
FILEBIN_CLOSE
FILEBIN_HEXA_READ
FILEBIN_HEXA_READ$
FILEBIN_HEXA_WRITE
FILEBIN_OPEN_READ
FILEBIN_OPEN_WRITE
FILEBIN_POS
FILEBIN_POSITION
FILEBIN_READ
FILEBIN_SIZE
FILEBIN_WRITE
FILTER
FIND
FNC
FOG_COLOR
FOG_DISTANCE_MAX
FOG_DISTANCE_MIN
FOG_OFF
FOG_ON
FONT_BOLD
FONT_BOLD_OFF
FONT_COLOR
FONT_ITALIC
FONT_ITALIC_OFF
FONT_NAME
FONT_NAMES_ADD
FONT_NAMES_LOAD
FONT_SIZE
FONT_STRIKE
FONT_STRIKE_OFF
FONT_UNDERLINE
FONT_UNDERLINE_OFF
FOR
FORM
FRAC
FREE
FULL_SPACE
FUNCTION   :' POUR LIBRARY
GAMMA
GOSUB
GOTO
GRID
GRID_CLEAR
GRID_COLUMN
GRID_COLUMN_DELETE
GRID_COLUMN_FIXED
GRID_COLUMN_INSERT
GRID_COLUMN_SIZING_OFF
GRID_COLUMN_SIZING_ON
GRID_COLUMN_WIDTH
GRID_FIXED_COLOR
GRID_LOAD
GRID_ONE_COLUMN_WIDTH
GRID_ONE_ROW_HEIGHT
GRID_READ$
GRID_ROW
GRID_ROW_DELETE
GRID_ROW_FIXED
GRID_ROW_HEIGHT
GRID_ROW_INSERT
GRID_ROW_SIZING_OFF
GRID_ROW_SIZING_ON
GRID_SAVE
GRID_WRITE
GRID_X_TO_COLUMN
GRID_Y_TO_ROW
HANDLE
HANDLE_APPLICATION
HANDLE_CANVAS
HANDLE_FORM
HCOS
HEIGHT
HEIGHT_CLIENT
HEX
HEX$
HIDE
HIDE_ALL
HINT
HINT_HIDE
HORIZONTAL
HSIN
HTAN
HVIEWER
IF
IMAGE
INACTIVE
INCLUDE
INKEY$
INPUT
INPUT_MARK_OFF
INPUT_MARK_ON
INPUT_REDO_OFF
INPUT_REDO_ON
INPUT_SOURCE_IS
INPUT_VISIBLE_OFF
INPUT_VISIBLE_ON
INSERT$
INSTR
INSTR_LAST
INSTR_POS
INSTR_RIGHT
INT
ITEM_ADD
ITEM_DELETE
ITEM_INDEX
ITEM_INDEX$
ITEM_INSERT
ITEM_READ$
ITEM_SELECT
KEY_DOWN_CODE
KEY_DOWN_SPECIAL
KEY_UP_CODE
KEY_UP_SPECIAL
LABEL
LED1
LEFT
LEFT$
LEN
LIBRARY
LIBRARY$
LIGHT_POSITION
LIGHT_X_POSITION
LIGHT_Y_POSITION
LIGHT_Z_POSITION
LIST
LOG
LOG10
LOG2
LOWER$
LTRIM$
MAIL_SEND
MAIN_MENU
MAIN_MENU_POP
MARK_OFF
MARK_ON
MAX
MAXIMIZE
MEMO
MEMO_RICH
MESSAGE
MESSAGE_CONFIRMATION_OK
MESSAGE_CONFIRMATION_YES_NO
MESSAGE_ERROR_OK
MESSAGE_ERROR_YES_NO
MESSAGE_INFORMATION_OK
MESSAGE_INFORMATION_YES_NO
MESSAGE_INPUT
MESSAGE_INPUT$
MESSAGE_SEND   :' MESSAGE_SEND 0,1,2,3,4    NON TESTÉ
MESSAGE_TEXT$
MESSAGE_WARNING_OK
MESSAGE_WARNING_YES_NO
MID$
MIDI_INSTRUMENT
MIDI_OFF
MIDI_ON
MIDI_PLAY
MIDI_VOLUME
MIN
MINIMIZE
MOD
MOUSE_LEFT_DOWN
MOUSE_LEFT_UP
MOUSE_RIGHT_DOWN
MOUSE_RIGHT_UP
MOUSE_X_LEFT_DOWN
MOUSE_X_LEFT_UP
MOUSE_X_POSITION
MOUSE_X_RIGHT_DOWN
MOUSE_X_RIGHT_UP
MOUSE_Y_LEFT_DOWN
MOUSE_Y_LEFT_UP
MOUSE_Y_POSITION
MOUSE_Y_RIGHT_DOWN
MOUSE_Y_RIGHT_UP
MOVIE
NEXT
NORMAL
NOT
NUMBER_2D_TARGET
NUMBER_3D_OBJECTS
NUMBER_3D_TARGET
NUMBER_ACTIVATE
NUMBER_CHANGE
NUMBER_CLICK
NUMBER_COMMAND_TARGET
NUMBER_CURRENT_LINE
NUMBER_DOUBLE_CLICK
NUMBER_EVENTS
NUMBER_INPUT_SOURCE
NUMBER_KEY_DOWN
NUMBER_KEY_UP
NUMBER_MOUSE_DOWN
NUMBER_MOUSE_MOVE
NUMBER_MOUSE_UP
NUMBER_OBJECTS
NUMBER_PRINT_TARGET
NUMBER_SHOW
NUMBER_SPRITE_TARGET
NUMBER_SPRITES
NUMBER_TICKS
NUMBER_VARIABLES
NUMERIC
O3D_ANIMATION_COUNT         :' NON TESTÉ
O3D_ANIMATION_FRAME_COUNT   :' NON TESTÉ
O3D_ANIMATION_FRAME_END     :' NON TESTÉ
O3D_ANIMATION_FRAME_START   :' NON TESTÉ
O3D_COLLISION
O3D_FRAME_COUNT             :' NON TESTÉ
O3D_OBJECT_EXISTS
O3D_OBJECT_TYPE
O3D_X_POSITION
O3D_X_ROTATE
O3D_X_SCALE
O3D_Y_POSITION
O3D_Y_ROTATE
O3D_Y_SCALE
O3D_Z_POSITION
O3D_Z_ROTATE
O3D_Z_SCALE
OBJECT_EXISTS
OBJECT_INTERNAL
OBJECT_PARENT
OBJECT_TYPE
OFF_ACTIVATE
OFF_CHANGE
OFF_CLICK
OFF_CLOSE
OFF_DOUBLE_CLICK
OFF_ERROR_GOTO
OFF_KEY_DOWN
OFF_KEY_UP
OFF_MOUSE_DOWN
OFF_MOUSE_MOVE
OFF_MOUSE_UP
OFF_MOVE
OFF_RESIZE
OFF_SHOW
OFF_USER_EVENT
ON_ACTIVATE
ON_CHANGE
ON_CLICK
ON_CLOSE
ON_DOUBLE_CLICK
ON_ERROR_GOTO
ON_KEY_DOWN
ON_KEY_UP
ON_MOUSE_DOWN
ON_MOUSE_MOVE
ON_MOUSE_UP
ON_MOVE
ON_RECEIVE
ON_RESIZE
ON_SHOW
ON_TIMER
ON_USER_EVENT
OPEN_DIALOG
OPEN_DIALOG_PIC
OPTION
OR
PANEL
PARALLEL_INP
PARALLEL_OFF
PARALLEL_ON
PARALLEL_OUT
PARAM_NUMBER
PARAM_VALUE$
PARENT
PAUSE
PEEK
PEEK_NORMAL
PEEK_REVERSE
PEEK16
PEEK32
PI
PICTURE
PICTURE_BOTTOM
PICTURE_LEFT
PICTURE_RIGHT
PICTURE_TOP
PLAY
PLAY_WAIT
POINT_OBJECT
POINT_POSITION
POINT_X_POSITION
POINT_Y_POSITION
POINT_Z_POSITION
POKE
POKE_NORMAL
POKE_REVERSE
POKE16
POKE32
POWER
PRINT
PRINT_CLEAR
PRINT_LOCATE
PRINT_TARGET_IS
PRINT_X_LOCATE
PRINT_Y_LOCATE
PROGRESS_BAR
RADIAN_TO_DEGREE
RADIANS
READ
REM
REPEAT
REPLACE
RESTORE
RESTORE_LABEL
RESULT
RETURN
REVERSE$
RIGHT$
RIGHT_POS$
RMDIR
RND
RTRIM$
SAVE_DIALOG
SAVE_DIALOG_PIC
SCANCODE
SCENE2D
SCENE3D
SCREEN_X
SCREEN_Y
SCROLL_BAR
SECRET_OFF
SECRET_ON
SELECT
SELECT_DELETE
SELECT_READ$
SELECT_TEXT
SEPARATOR_IS_COMMA
SEPARATOR_IS_POINT
SERIAL
SERIAL_BAUDRATE
SERIAL_CLOSE
SERIAL_DATABITS
SERIAL_OPEN
SERIAL_PARITY
SERIAL_PORT
SERIAL_PORT_EXISTS
SERIAL_READ$
SERIAL_STOPBITS
SERIAL_WRITE
SET_FOCUS
SGN
SHAPE
SHAPE_CIRCLE
SHAPE_ELLIPSE
SHAPE_RECTANGLE
SHAPE_RECTANGLE_ROUNDED
SHAPE_SQUARE
SHAPE_SQUARE_ROUNDED
SHOW
SHOW_ALL
SHOW_MODAL
SIN
SNAPSHOT
SORT
SORT_OFF
SORT_ON
SOUND
SPIN
SPRITE
SPRITE_BRIGHTNESS
SPRITE_CONTRAST
SPRITE_CREATE_HIDE
SPRITE_CREATE_SHOW
SPRITE_DELETE
SPRITE_DELETE_ALL
SPRITE_EXISTS
SPRITE_FILE_LOAD
SPRITE_GAMMA
SPRITE_HEIGHT  :' NON TESTÉ
SPRITE_HIDE
SPRITE_HIDE_ALL
SPRITE_IMAGE_LOAD
SPRITE_POSITION
SPRITE_SCALE
SPRITE_SHOW
SPRITE_SHOW_ALL
SPRITE_TARGET_IS
SPRITE_TEXT
SPRITE_WIDTH  :' NON TESTÉ
SPRITE_X_POSITION
SPRITE_X_SCALE
SPRITE_Y_POSITION
SPRITE_Y_SCALE
SQR
STEP
STOP
STR$
STRETCH_OFF
STRETCH_ON
STRING$
SUB
SUB_MENU
SWITCH1
SYNEDIT
SYNEDIT_TARGET_IS_COMMENT
SYNEDIT_TARGET_IS_GUTTER
SYNEDIT_TARGET_IS_KEYWORD
SYNEDIT_TARGET_IS_OBJECT
SYNEDIT_TARGET_IS_STRING
SYSTEM$
TAB
TAN
TERMINATE
TEXT
TEXT$
TEXT_DELETE
TEXT_HEIGHT
TEXT_INSERT
TEXT_WIDTH
THEN
TIME$
TIME_HOUR
TIME_MINUTE
TIME_SECOND
TIMER
TIMER_INTERVAL
TIMER_OFF
TIMER_OFF_ALL
TIMER_ON
TO
TO_BACKGROUND
TO_FOREGROUND
TRACE_OFF
TRACE_ON
TRACK_BAR
UNTIL
UPPER$
USER_EVENT_LPARAM
USER_EVENT_WPARAM
VAL
VARIABLE
VERSION$
VERTICAL
WAIT
WHILE
WIDTH
WIDTH_CLIENT
WRAP_VALUE
à copier dans l'éditeur pour plus de clarté Wink


Dernière édition par silverman le Sam 23 Mai 2020 - 12:06, édité 1 fois
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2389
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Comment récupérer le N° de l'objet sous la souris ? [Résolu] Empty
MessageSujet: Re: Comment récupérer le N° de l'objet sous la souris ? [Résolu]   Comment récupérer le N° de l'objet sous la souris ? [Résolu] EmptySam 23 Mai 2020 - 11:27

Bonjour à tous !

Ce code pourra peut-être faire l'affaire ? ...

Code:
label id0, id1, id2, id3, id4, id5, id6

button 1 : caption 1,"one" : on_mouse_move 1,id1
button 2 : left 2,120 : caption 2,"two" : on_mouse_move 2,id2
button 3 : left 3,240 : caption 3,"three" : on_mouse_move 3,id3
button 4 : top 4,50 : caption 4,"four" : on_mouse_move 4,id4
button 5 : left 5,120 : top 5,50 : caption 5,"five" : on_mouse_move 5,id5
button 6 : left 6,240 : top 6,50 : caption 6,"six"  : on_mouse_move 6,id6

on_mouse_move 0,id0
end

id0:
    caption 0,"pas de bouton"
return

id1:
    caption 0,"bouton 1"
return
id2:
    caption 0,"bouton 2"
return
id3:
    caption 0,"bouton 3"
return
id4:
    caption 0,"bouton 4"
return
id5:
    caption 0,"bouton 5"
return
id6:
    caption 0,"bouton 6"
return
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7004
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Comment récupérer le N° de l'objet sous la souris ? [Résolu] Empty
MessageSujet: Re: Comment récupérer le N° de l'objet sous la souris ? [Résolu]   Comment récupérer le N° de l'objet sous la souris ? [Résolu] EmptyDim 24 Mai 2020 - 22:56

Merci Pedro, silverman et Marc pour vos retours.
En attendant la réintégration de la commande NUMBER_MOUSE_MOVE et consœurs, j’adopte l’idée donnée par Marc.

REM : je mets Résolu
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


Nombre de messages : 2389
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Comment récupérer le N° de l'objet sous la souris ? [Résolu] Empty
MessageSujet: Re: Comment récupérer le N° de l'objet sous la souris ? [Résolu]   Comment récupérer le N° de l'objet sous la souris ? [Résolu] EmptyLun 25 Mai 2020 - 17:01

Erratum & mea culpa

Le modèle de source que j’ai proposé ci-dessus n’est pas suffisamment fiable : le moindre déplacement de la souris dans un même objet produit un nouvel appel au sous-programme déclenché par ON_MOUSE_MOVE.
Démonstration par l’affichage de la variable NUMBER_TICKS dans le CAPTION 0 :

Code:
label test
button 1 : top 1,50 : left 1,50 : width 1,200 : height 1,200
on_mouse_move 1,test
end

test:
    caption 0,number_ticks
return



On voit dans le CAPTION 0 que la valeur est rafraichie dès le moindre déplacement de la souris sur le BUTTON 1.
Ainsi, à l’intérieur d’un même objet survolé par la souris, le sous-programme peut être exécuté plusieurs dizaines de fois inutilement mais surtout avec la forte probabilité de finir par un plantage du programme : Si le sous-programme ne s’est pas achevé avant le prochain appel du ON_MOUSE_MOVE, il y a plantage.

Une solution intermédiaire consisterait d’utiliser une variable qui mémorise le dernier objet survolé et refuse la réexécution du sous-programme par un RETURN en cas de nouvel appel de celui-ci.
Démonstration :

Code:
label test,zoneMorte
dim a

button 1 : top 1,50 : left 1,50 : width 1,200 : height 1,200
on_mouse_move 1,test
on_mouse_move 0,zoneMorte

end

test:
    if a = 1 then return
    a = 1
    caption 0,number_ticks
return

zoneMorte:
    if a = 0 then return
    a = 0
    caption 0,""
return


Le sous-programme appelé n’est exécuté qu’une seule fois, le CAPTION 0 affichant le NUMBER_TICKS n'est pas rafraichi quand on bouge sur le bouton 1.

Mais ce n’est pas encore la panacée !   Certes, il n’y a plus la répétition du même sous-programme en cas de déplacement à l’intérieur d’un même objet, mais il subsiste le risque de crash du programme si l’exécution du sous-programme n’est pas arrivé à sa fin avant son prochain appel. Par exemple lorsque que la souris quitte le bouton puis revient rapidement dessus : le nouveau déclanchement du sous-programme conduit au plantage si sa dernière tâche n’est pas finie.

Il faut donc neutraliser l’événement ON_MOUSE_MOVE puis le réactiver lorsque le sous-programme s’est achevé et lorsque la souris est sortie de l’objet survolé.

Démonstration :

Code:
label bouton1,bouton2,zoneMorte
dim boutonSurvol%

button 1 : top 1,50 : left 1,50 : width 1,100 : height 1,100
button 2 : top 2,50 : left 2,200 : width 2,100 : height 2,100

on_mouse_move 1,bouton1
on_mouse_move 2,bouton2
on_mouse_move 0,zoneMorte

end

bouton1:
    if boutonSurvol% = 1 then return
    boutonSurvol% = 1
    actionBouton1()
return

bouton2:
    if boutonSurvol% = 2 then return
    boutonSurvol% = 2
    actionBouton2()
return

zoneMorte:
    if boutonSurvol% = 0 then return
    boutonSurvol% = 0
    actionZoneMorte()
return

sub actionBouton1()
   off_mouse_move 1  
   caption 0,"Bouton 1 survolé.   NUMBER_TICKS : " + str$(number_ticks)
   on_mouse_move 1,bouton1
end_sub

sub actionBouton2()
   off_mouse_move 2  
   caption 0,"Bouton 2 survolé.   NUMBER_TICKS : " + str$(number_ticks)
   on_mouse_move 2,bouton2
end_sub

sub actionZoneMorte()
   off_mouse_move 0  
   caption 0,"Pas de bouton survolé.   NUMBER_TICKS : " + str$(number_ticks)
   on_mouse_move 0,zoneMorte
end_sub

Variante :

Code:
label bouton1,bouton2,zoneMorte
dim boutonSurvol%

button 1 : top 1,50 : left 1,50 : width 1,100 : height 1,100
button 2 : top 2,50 : left 2,200 : width 2,100 : height 2,100

on_mouse_move 1,bouton1
on_mouse_move 2,bouton2
on_mouse_move 0,zoneMorte

end

bouton1:
    if boutonSurvol% = 1 then return
    boutonSurvol% = 1
    actionBouton(1)
return

bouton2:
    if boutonSurvol% = 2 then return
    boutonSurvol% = 2
    actionBouton(2)
return

zoneMorte:
    if boutonSurvol% = 0 then return
    boutonSurvol% = 0
    actionbouton(3)
return

sub actionBouton()
    off_mouse_move 1  
    off_mouse_move 2  
    off_mouse_move 0  

    select boutonSurvol%
        case 0
            caption 0,"Pas de bouton survolé.   NUMBER_TICKS : " + str$(number_ticks)
        case 1
            caption 0,"Bouton 1 survolé.   NUMBER_TICKS : " + str$(number_ticks)
        case 2
            caption 0,"Bouton 2 survolé.   NUMBER_TICKS : " + str$(number_ticks)
    end_select

   on_mouse_move 1,bouton1
   on_mouse_move 2,bouton2
   on_mouse_move 0,zoneMorte
end_sub

==> Cette démonstration découle d’une solution logicielle développée par notre ami Klaus.

Bonne programmation à tous !
Revenir en haut Aller en bas
Contenu sponsorisé





Comment récupérer le N° de l'objet sous la souris ? [Résolu] Empty
MessageSujet: Re: Comment récupérer le N° de l'objet sous la souris ? [Résolu]   Comment récupérer le N° de l'objet sous la souris ? [Résolu] Empty

Revenir en haut Aller en bas
 
Comment récupérer le N° de l'objet sous la souris ? [Résolu]
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment recuperer le n° d'objet d un sub_menu ?
» [Résolu] Récuperer les fonctions systeme de Panoramic
» [Resolu] Récupérer dimensions image après CLIPBOARD_PASTE
» [Résolu] Récupérer la position des ascenseurs dans synedit
» [RESOLU] fonction de récupération molette souris

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: