setfocus

Status
Niet open voor verdere reacties.

Eibert

Gebruiker
Lid geworden
18 nov 2006
Berichten
72
Na een setfocusopdracht komt de focus in de verlangde textbox.
Code:
Me.tekst.setfocus
In die textbox staat al een tekst. De hele tekst is dan geselecteerd.
Hoe krijg ik het voor elkaar dat de cursor achter de bestaande tekst in de box gaat staan?
 
Dat doe je met:

Me.tekst.setfocus
Me.tekst.Selstart=Me.tekst.Sellength
 
De cursor zetten aan het einde van de tekst, kun je voor de hele applicatie instellen bij Opties.
In VBA kan dat via:
Application.SetOption "Behavior Entering Field", 2
Per tekstvak kan het met:
Me!NaamTekstVak.SelStart=Len(Me!NaamTekstVak.text)+1
 
Het geheel werkt niet.
Code:
Private Sub kzPlaatsNamen_LostFocus()
   ...
   Me.tekst.SetFocus
   Me.tekst.SelStart = Me.tekst.SelLength

of:
Code:
Private Sub tekst_GotFocus()
   Me.tekst.SelStart = Me.tekst.SelLength
   ...
of :
Code:
Private Sub tekst_GotFocus()
   Me!tekst.SelStart = Len(Me!tekst.Text) + 1
En .. waar stel ik de algemene optie in?
Code:
Application.SetOption "Behavior Entering Field", 2
 
De code
Application.SetOption "Behavior Entering Field", 2
kun je in een functie zetten, die je bijvoorbeeld in een AutoExec macro aanroept.
Het is een programma-instelling, die je heel makkelijk kunt aanpassen zonder toeters en bellen. Je vindt hem in het menu <Extra>, <Opties>, <Toetsenbord>, onder <Focus naar verplaatsing.

Overigens moet SelStart=Sellength prima werken, ik heb er nooit problemen mee...
 

Bijlagen

  • Focus 'Einde van veld'.jpg
    Focus 'Einde van veld'.jpg
    39,6 KB · Weergaven: 42
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan