Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Candidat au Club
    comment faire rester une textbox dans la position de défilement
    Bonjour,

    j'aimerais savoir si on peut bloquer une textbox sur la position du texte pour éviter que celui-ci ne revienne tout en haut lorsqu'on sort du contrôle.
    En effet ça marche avec une liste, si je descend dans la liste avec la barre de défilement et que je quitte le contrôle celui-ci reste sur l'item sélectionné, mais pour un contrôle texte ce n'est pas le cas.
    Mon contexte c'est d'avoir un texte dans txtbox1, parfois assez long avec à côté dans txtbox2 le texte dans la langue original. j'aimerais pouvoir mettre les deux contrôle sur la même portion de texte.
    Merci de toute aide

  2. #2
    Membre expert
    Bonjour,
    A mon avis ce n'est pas possible d'afficher les lignes sélectionnées d'un textbox (avec un long texte (de type Mémo ...)), une fois que l'on a quitté ce textbox.
    Si je comprends bien, tu voudrais synchroniser l'affichage de 2 textbox assez longues (sans doute des données de type Mémo) pour les comparer.
    Ce que tu pourrais faire, c'est créer 1 textbox supplémentaire (en controle indépendant) pour y afficher le paragraphe (ou bien les 2 ou 3 derniers ...) où se trouve sous le curseur lorsque tu quittes la textBox....
    A voir

    cordialement
    "Always look at the bright side of life." Monty Python.

  3. #3
    Expert éminent sénior
    bonsoir,
    une solution consisterait à mémoriser la position du curseur à la sortie de chaque contrôle et les mémoriser dans des variables publiques afin de les "recharger" à la prochaine entrée du contrôle avec la propriété SelStart. La contrainte: penser à cliquer sur la partie du texte à mémoriser pour que le changement soit effectif
    Code à essayer:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Option Compare Database: Option Explicit
     
    Public lgPosText1 As Long
    Public lgPosText2 As Long
     
    Private Sub Form_Current()
    'Initialisation au changement d'enregistrement
    lgPosText1 = 0: lgPosText2 = 0
    End Sub
     
    Private Sub Texte1_Enter()
    'Rechargement de la position du curseur
    Me.Texte1.SelStart = lgPosText1
    End Sub
     
    Private Sub Texte1_Exit(Cancel As Integer)
    'Mémorisation de la position du curseur
    lgPosText1 = Me.Texte1.SelStart
    End Sub
     
    Private Sub Texte2_Enter()
    Me.Texte2.SelStart = lgPosText2
    End Sub
     
    Private Sub Texte2_Exit(Cancel As Integer)
    lgPosText2 = Me.Texte2.SelStart
    End Sub
    La contrainte: penser à cliquer sur la partie du texte à mémoriser pour que le changement soit effectif.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  4. #4
    Candidat au Club
    Merci pour les aides.
    Je veux effectivement comparer les deux textes, (il ne s'agit pas seulement de revenir à la même position) la solution d'avoir une txtbox cachée qui apparait lorsque je sors me donne ce que je veux.
    Je remplis la txtbox de réserve avec:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    txtTexte1Res = Mid(txtTexte1.text, txtTexte1.SelStart, Len(txtTexte1.text) - txtTexte1.SelStart - 10)


    Comme je suis en plus en richtext la localisation est approximative, mais pour le moment ça me suffit.

###raw>template_hook.ano_emploi###