Capturer des clics de souris sur des objets non graphiques avec JSLJ'ai beaucoup lu sur les fonctions mousetrap() et handle(), mais celles-ci semblent être réservées aux objets Graph Box. Je me demandais si je pouvais ajouter un événement "Au clic" à n'importe quel élément graphique d'une fenêtre ? Par exemple, dans le code suivant :
GuiWindow = New Window( "SMS1" );
theBox = Table Box(
String Col Box( "State", {"Florida", "Texas", "Main", "California"} ),
Number Col Box( "Width", {45, 66, 88, 13} ),
Number Col Box( "Length", {67, 34, 1, 78} ),
Number Col Box( "Depth", {13, 65, 32, 56} )
);
GuiWindow << Append( theBox );
Puis-je ajouter un piège à souris ou un comportement similaire "au clic" à une zone de tableau ? Donc, si l'utilisateur doit cliquer n'importe où dans le tableau, peut-il faire quelque chose comme Write("Bonjour le monde"); ?
Re : Capturer des clics de souris sur des objets non graphiques avec JSLCe que vous voulez, c'est la fonction de boîte à souris.
GuiWindow = New Window( "SMS1" );
theBox = Table Box(
String Col Box( "State", {"Florida", "Texas", "Main", "California"} ),
Number Col Box( "Width", {45, 66, 88, 13} ),
Number Col Box( "Length", {67, 34, 1, 78} ),
Number Col Box( "Depth", {13, 65, 32, 56} )
);
GuiWindow << Append(
MouseBox(
theBox,
<<SETCLICKENABLE></SETCLICKENABLE>
Re : Capturer des clics de souris sur des objets non graphiques avec JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Pour une tablebox, vous pouvez la rendre sélectionnable et ajouter une fonction de changement de ligne.Voir l'exemple ci-dessous.
dt = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" ) ;
Résumer ( un = par ( âge ) , c = compter , sommeHt = Somme ( Hauteur ) ,
signifieHt = Moyenne ( Hauteur ) , minHt = Min ( Hauteur ) ,
maxHt = Max ( Hauteur )
) ;
sr = Nouvelle fenetre ( "résultats sommaires" ,
tuberculose = Boîte de table (
Boîte à cordes ( "Âge" , un ) ,
Nombre Col Boîte ( "Compter" , c ) ,
Nombre Col Boîte ( "Somme" , sommeHt ) ,
Parcelle Col Boîte ( "Somme" , sommeHt ) ,
Nombre Col Boîte ( "Moyenne" , signifieHt ) ,
Nombre Col Boîte ( "Min" , minHt ) ,
Nombre Col Boîte ( "Max" , maxHt )
)
) ;
tuberculose << définir des rangées alternées d'ombrage ( 1 ) << définir les bordures des lignes ( 1 ) << définir les bordures des colonnes ( 1 ) ;
tuberculose << Définir des lignes sélectionnables ( 1 ) ;
tuberculose << définir la fonction de changement de ligne (
Fonction ( { ce } ,
liste_lignes = ce << obtenir les lignes sélectionnées ;
si ( nrows ( liste_lignes ) > 0 ,
une rangée = liste_lignes [ 1 ] ;
imprimer ( "Ligne sélectionnée :" || carboniser ( une rangée )) ;
) ;
) ;
) ;