[R] Afficher un fichier dans un Edit à une position choisie

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
GMH
Niveau 6
Niveau 6
Messages : 227
Enregistré le : dim. 24 juin 2012 14:56
Status : Hors ligne

[R] Afficher un fichier dans un Edit à une position choisie

#1

Message par GMH »

Bonjour,

Je souhaite qu'à la réouverture d'un fichier affiché dans un Edit, celui-ci s'affiche dans la même position qu'à sa dernière fermeture, c'est-à-dire que la dernière ligne que j'ai éditée (qui n'est pas forcément la dernière ligne du fichier) se présente immédiatement dans la fenêtre de mon Edit sans que j'ai besoin de faire défiler jusqu'à la retrouver.

J'ai imaginé récupérer la position du curseur à la fermeture du fichier, la mémoriser dans une variable lue à la réouverture, et replacer le curseur à cette position :

Code : Tout sélectionner

Func Fermer()
	$Curseur = _GUICtrlEdit_GetSel($Editeur)
	...
EndFunc

Func Ouvrir()
	...
	GUICtrlSetState($Editeur, $GUI_FOCUS)
	If $Curseur[0] Then _GUICtrlEdit_SetSel($Editeur,$Curseur[0],$Curseur[1])
	...
EndFunc
Récupération et restitution de la position du curseur réussissent. Mais le fichier ne s'affiche pas dans la fenêtre comme au moment de sa fermeture. Autrement dit : repositionner le curseur à sa bonne place ne fait pas défiler le fichier jusqu'à lui.

Pourriez-vous me dire si mon code permet ce que je souhaite faire. Si oui, quelle fonction ajouter ? Sinon, comment m'y prendre ?

Je vous remercie.
Modifié en dernier par GMH le mer. 13 avr. 2016 19:00, modifié 1 fois.
Oversid3
Niveau 3
Niveau 3
Messages : 45
Enregistré le : jeu. 29 janv. 2015 11:20
Status : Hors ligne

Re: [..] Afficher un fichier dans un Edit à une position choisie

#2

Message par Oversid3 »

Peut-etre en utilisant les bookmark/session de Notepad++ ?
GMH
Niveau 6
Niveau 6
Messages : 227
Enregistré le : dim. 24 juin 2012 14:56
Status : Hors ligne

Re: [..] Afficher un fichier dans un Edit à une position choisie

#3

Message par GMH »

Mon Contrôle Edit est inclus dans une GUI écrite en AutoIt. Je n'utilise pas pour cela Notepad++

Finalement, j'ai trouvé ça :

Code : Tout sélectionner

If $Curseur[0] Then
	_GUICtrlEdit_SetSel($Editeur,$Curseur[0],$Curseur[1])
	_GUICtrlEdit_Scroll($Editeur,$SB_SCROLLCARET) 
EndIf
Ca m'a l'air pas mal. Y a-t-il mieux ?
Répondre