Hur gör man för att få markören "blå" eller setfocus när man skriver Tidigare svar som jag lämnat, antar att med "blå" markör menar att hela texten är markerad. Alltså ungefär samma svar som Pelle gav. Detta fungerar så att första tcknet blir "blåt" Beskriv mer syftet med det du vill åstadkomma. Om man har text i en textbox och märkören är i den, Du skall alltså hela tiden ha ett tecken markerat? Jag har mitt under Efter lite testande kom jag fram till följande: Detta funkar som du skriver lite halv bra, om man klickar i text rutan med detta ex så blir inte markören "blå", utan bara ett vanligt streck, den blir ju blå så fort man rör sig framåt eller backåt Ja, meningen är att du lägger in den i mousedown och gotfocus också, antar jag.Setfocus
Alltså bara just det tecknet där markören står
SörenSv: Setfocus
Det finns objekt som heter text1.SelText, .SelLen, .SelStart - med .Selstart kan du säga på vilken position i texten som cursorn skall stå och blinka på. Att ändra cursorn till blå kan jag inte svara på.Sv: Setfocus
Prova gärnna att göra lite sökning på forumet först.
Hej, jag använder denna typ ibland.
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
Lämpligen bygger du en egen funktion för detta som du enkelt anropar när du så önskar.Sv: Setfocus
Text1(index).SetFocus
Text1(index).SelStart = 0
Text1(index).SelLength = 1 'Len(Text1(index).Text)
Men den slutar att vara "blåt" när man för markören framåt över textenSv: Setfocus
Den lösningen jag beskrev är Windows standard för att förenkla inmatning i fält.
Tänk på att inte hitta på något som blir lurigt och svårtolkat för användaren.Sv: Setfocus
då ska tecknet som finns framför markören bli "blå",
även om du för markören vidare över texten,
så ska den "blåa" rutan följa markören,
Alltså kan man väl säga att markören ska vara "blå"Sv: Setfocus
Något i stil med
Text1(index).SelLength = 1
i TextBox_KeyUp borde kunna gå att trixa med. Du får nog kolla vilka knappar som trycks ner också.Sv: Setfocus
Private Sub Text1_GotFocus(index As Integer)
Text1(index).SetFocus
Text1(index).SelStart = 0
Text1(index).SelLength = 1 'Len(Text1(index).Text)
det kanske är felSv: Setfocus
<code>
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
If Text1.SelStart > 0 Then
Text1.SelStart = Text1.SelStart - 1
End If
Text1.SelLength = 1
Text1.SetFocus
End Sub
</code>
Det fungerar lite sådär halvbra. Frågan är om du har valt en vettig metod.
Det bästa brukar vara att låta kontrollerna fungera som vanligt.Sv: Setfocus
Kanske så lång man kan komma just nu
Får prova mig fram
Tack ändåSv: Setfocus
Problemet ligger i att den är lite för seg. Dels så ser man själva hoppet, dels så kan den bli lite knäpp om man skriver för snabbt.