Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Marquage d'une cellule d'un GRID Ven 2 Mar 2012 - 14:42 | |
| Lorsque l'on clique dans une cellule d'un GRID, on peut maintenant obtenir les coordonnées (ligne,colonne) par les nouvelles fonctions de la dernière version instantanée. Ceci permet de marquer visuellement la cellule sélectionnée. Pour le moment, on n'a pas la possibilité de procéder à un changement de couleur, ni de police ou fonte. On ne peut que changer le contenu de la cellure pour obtenir un effet visuel. J'ai choisi d'insérer une marque "==> " devant le texte de la cellule cliquée. Pour cela, j'utilise deux variables pour mémoriser la dernière cellule cliquée afin de pouvoir enlever la marque avant d'installer la marque dans la cellule nouvellement cliquée. Voici un exemple: cliquez simplement sur une des 3 cellules de droite, et vous verrez le résultat: - Code:
-
' test_fichier_ini.bas
' règles: ' - commentaire: tout ce qui suit un ";" ' - composition de la ligne: ' libelle=valeur
label labels : gosub labels gosub variables gosub GUI gosub initialisations end
labels: label variables, GUI, initialisations label click_grid return
variables: dim no%, no_grid%, n_lignes% dim l$, v$ dim x%, y%, l%, c% return
GUI: no% = no%+1 : grid no% : top no%,10 : left no%,10 grid_column no%,2 : grid_row no%,10 : no_grid% = no% grid_one_column_width no%,1,200 grid_one_column_width no%,2,200 height no%,240 : width no%,425 grid_write no%,1,1,"Paramètre" grid_write no%,1,2,"Valeur" on_click no%,click_grid return
initialisations: n_lignes% = 1 grid_write no_grid%,2,1,"Date" grid_write no_grid%,3,1,"Auteur" grid_write no_grid%,4,1,"Nature" grid_write no_grid%,2,2,date$ grid_write no_grid%,3,2,"Klaus" grid_write no_grid%,4,2,"Démo de marquage" return
click_grid: if l%>1 v$ = grid_read$(no_grid%,l%,c%) grid_write no_grid%,l%,c%,mid$(v$,5,len(v$)) end_if x% = mouse_x_left_down(no_grid%) y% = mouse_y_left_down(no_grid%) c% = GRID_X_TO_COLUMN(no_grid%,x%) l% = GRID_Y_TO_ROW(no_grid%,y%) l$ = grid_read$(no_grid%,l%,1) v$ = grid_read$(no_grid%,l%,c%) grid_write no_grid%,l%,c%,"==> "+v$ return
Après chaque clic, les variables l% et c% contiennent les coordonnées de la cellule, l$ contient le libellé de la ligne (cellule l%,1) et v$ contient la valeur de la cellule (l%,c%). | |
|