⇨ MENU ⇨ BIBLIOTHEQUE ⇨ editbox.bbc
PROC_geteditboxselect()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ editbox.bbc
PROC_geteditboxselect()
DESCRIPTION.
La procédure PROC_geteditboxselect() retourne la position du curseur textuel et/ou de définir une sélection d'une partie du contenu d'un éditeur de texte multiligne.
SYNTAXE.
PROC_geteditboxselect( boite , editeur , kcolonne , kligne , kfin_colonne , kfin_ligne )
REMARQUES.
boite doit être l'identifiant de la boite de dialogue qui accueillera l'éditeur de texte. Il s'agit du nom de la variable qui a reçu la valeur retournée par la fonction FN_newdialog() du module dlglib.bbc pour la création de boite.
editeur doit être l'identifiant de l'éditeur de texte multilignes.
La procédure PROC_geteditboxselect() va retourner :
- la position horizontale (colonne) du début de la sélection dans kcolonne ;
- la position verticale (ligne) du début de la sélection dans kligne ;
- la position horizontale (colonne) de la fin de la sélection dans kfin_colonne ;
- la position verticale (ligne) de la fin de la sélection dans kfin_ligne.
Rappel : Les éditeurs de texte multiligne, créer avec le module editbox.bbc, devant être accueillis dans une boite de dialogue, il faut impérativement installer le module dlglib.bbc avant le module module editbox.bbc.
Voir la fonction PROC_seteditboxselect() qui permet de définir les positions de début et de fin d'une sélection.
La procédure PROC_geteditboxselect() est importée depuis la module editbox.bbc.
EXEMPLE.
REM --- Importation des modules ---
REM --- Module de la bibliothèque BBC BASIC ---
INSTALL @lib$ + "dlglib.bbc"
INSTALL @lib$ + "editbox.bbc"
REM --- Chargement de la police de caracteres par defaut ---
OSCLI "FONT """ + @lib$ + "DejaVuSans"",12"
REM --- Initialisation des elements de la liste ---
DIM LST_Editeur$( 10 )
LST_Editeur$( 0 ) = "Vous pouvez entrer du texte a partir d'ici ..."
FOR kindex = 1 TO 9 : LST_Editeur$( kindex ) = "Ligne : " + STR$( kindex ) : NEXT kindex
LST_Editeur$( 10 ) = "C'est ici que ce termine l'editeur de texte."
REM --- Creation d'une boite de dialogue nommee DLG_Test de 160 x 60 unites intitulee Test ---
DLG_Test = FN_newdialog( "Test ..." , 170 , 150 )
REM --- Creation des controles de la boite de dialogue ---
PROC_button( DLG_Test , "Fermer." , 8 , 115 , 130 , 40 , 15 , 0 )
PROC_button( DLG_Test , "Selection !" , FN_setproc( PROC_Action() ) , 5 , 130 , 60 , 15 , 0 )
PROC_editbox( DLG_Test , "" , 101 , 5 , 5 , 160 , 120 , &300000 )
PROC_seteditboxarray( DLG_Test , 101 , LST_Editeur$() , 10 )
REM --- Affichage de la boite de dialogue et attende des choix de l'utilisateur ---
kcontrole = FN_showdialog( DLG_Test , &FFFFFFFF80000000 , &FFFFFFFF80000000 )
REM --- Fermeture de la boite de dialogue ---
PROC_closedialog( DLG_Test )
REM --- Fin du programme ---
PRINT : PRINT "Au revoir."
END
REM --- DEFINITION DES METHODES PERSONNALISEES ---
REM --- Procedures d'appel de la boite de dialogue DLG_Test ---
DEF PROC_Action( Qboite , Qbouton ) :
kdebut_x = RND( 20 ) : kdebut_y = RND( 10 ) : kfin_x = RND( 20 ) : kfin_y = RND( 10 )
kselection$ = "demande de (" + STR$( kdebut_x ) + " , " + STR$( kdebut_y ) + ") a (" + STR$( kfin_y ) + " , " + STR$( kfin_y ) + ") "
LST_Editeur$( 1 ) = kselection$
PROC_seteditboxselect( Qboite , 101 , kdebut_x , kdebut_y , kfin_x , kfin_y )
PROC_geteditboxselect( Qboite , 101 , kcolonne , klligne , kfin_c , kfin_l )
kselection$ = "Selection de (" + STR$( kcolonne ) + " , " + STR$( klligne ) + ") a (" + STR$( kfin_c ) + " , " + STR$( kfin_l ) + ") "
LST_Editeur$( 9 ) = kselection$
PROC_refreshdialog( Qboite )
ENDPROC
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.