toetsenbord voor touchscreen

Status
Niet open voor verdere reacties.

jordyvk

Gebruiker
Lid geworden
9 sep 2009
Berichten
56
hallo iedereen,

ik ben bezig met een programma aan het maken voor een touchscreen 'pc'.
nu moet je tekst invoeren in een tekstvak en dan ben ik bezig dat je net als bij een toetsenbord een naam kan schrijven.

hier wat ik tot nu toe gemaakt was
tekstz.jpg


nu alles werkt shift, shift lock, toetsen en zo.
maar nu delete en enter hoe doe je dat?

ik hoop dat iemand het weet.

groeten jordy
 
Voor de enter
Code:
TextField.appendText(vbCrLf)
vbCrLf is een constante die je tektveld op een volgende regel zet.



en voor de delete
Code:
Dim sOudeTekst as String = TextField.text
Dim sNieuweTekst(aOudeTekst.length-1) as String
Dim sEinde as Short=aNieuweTekst.length - 1
for i = 0 to sEinde
sNieuweTekst(i) = sOudeTekst(i)
Next
TextField.text = sNieuweTekst
Gewoon een nieuwe string maken die een karakter korter is en voor de rest hetzelfde blijft. Waarschijnlik bevat de string class methoden die dit eenvoudiger kunnen, dat weet ik niet.

+ Kan het zijn dat er syntaxfouten instaan, maar die kan je er makkelijk uitzuiveren, je hebt de idee.
 
Laatst bewerkt:
hallo,

bedankt voor de info.

ik ben hier niet zo goed in ...
de delete werkt nog niet
hier een voorbeeld van de fouten.
probleemdelete.jpg


alvast bedankt
 
Laatst bewerkt:
Oudetext = een textbox, NieuweText = een textbox (Dus verplaatsen met bijv ; textbox1.text )
 
Code:
TextField.appendText(vbCrLf)
en
Code:
Gewoon een nieuwe string maken die een karakter korter is en voor de rest hetzelfde blijft
gaan straks natuurlijk wel fout als je er cursortoetsen bij gaat maken, want dan kun je niet domweg de enter aan het einde toevoegen of de backspace op het laatste karakter toepassen, maar zul je gebruik moeten maken van de TextBox1.SelectedText property

Overigens zou je als je alle karakters behalve de laatste wilt kopiëren betere gebruik kunnen maken van
Code:
NieuweTekst.text = Oudetekst.text.Substring(1,Oudetekst.text.length-1)
Dit zal met name bij lange strings flink in de performance schelen.
 
Laatst bewerkt:
hallo iedereen

het is alweer een tijdje geleden maar ik heb eens tijd gevonden om er naar te kijken.

ik heb ik er van gemaakt, alles werkt maar, als je op de delete knop klikt verwijdert hij de eerste letter een niet de laatste.

wie kan mij helpen?

hier is mijn code
Code:
        Dim OudeTekst As String = txttekst.Text
        Dim NieuweTekst As String
        NieuweTekst = OudeTekst.Substring(1, OudeTekst.Length - 1)
        txttekst.Text = NieuweTekst

groeten jordy
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan