bij onKeyDown ofzoiets kun je checken of er een getalletje ingevoerd is, en zoniet keycode op 0 zetten ofzo.
Maar er is ook een script waarmee je gewoon de toesten At/mZ enzo blokkeert, dus als je een cijfer intikt dat je dan zo'n windows Ting geluid hoort. Zijn ook zat dialogs in Windows die dat hebben.
Als het om alleen gehele getallen gaat, kun je via de API (GetWindowLong de huidige style ophalen, en met SetWindowLong de style ES_NUMBER toevoegen). Zie MSDN voor meer info.
Als er decimalen in moeten (of je wil meerdere styles gaan ondersteunen) kun je met de keydown, keypress en change events invoer afvangen. Keydown kun je de keycode checken en op 0 zetten als 'ie de verkeerde waarde heeft, het change event is handig om te checken als er gepaste is, dat ook dan de invoer gechecked wordt (change event is niet handig om daar alle checks te doen, dat typt zwaar k*t voor de gebruiker. Keydown en keypress zijn daar het netste voor).
Als er decimalen in moeten (of je wil meerdere styles gaan ondersteunen) kun je met de keydown, keypress en change events invoer afvangen. Keydown kun je de keycode checken en op 0 zetten als 'ie de verkeerde waarde heeft, het change event is handig om te checken als er gepaste is, dat ook dan de invoer gechecked wordt (change event is niet handig om daar alle checks te doen, dat typt zwaar k*t voor de gebruiker. Keydown en keypress zijn daar het netste voor).
Exact expert nodig?
Hey relax
12 8 minuten is wel heel snel...
Heb je de helpfile weleens in gekeken? KeyDown event is voorlopig leuk om te beginnen
KeyCode bevat een waarde wat de ascii waarde is van een toets. Nou ja, niet helemaal maar goed
Verder heb je nog een bergje vbKeyX constanten, waarbij X een teken is. Met dus bv een check als KeyCode >= vbKey0 And KeyCode <= vbKey9 kun dus checken of de keycode tussen die van de 0 en de 9 ligt. Naja en zo kun je daar dus meer checks doen
Keycode = 0 zetten om de waarde op 0 te zetten (duh) zodat het teken dus niet verschijnt. KeyPress event heb je ook, die krijgt een KeyAscii mee als 1 van de parameters, en da's de echte ascii waarde (in keydown is een e en een E gelijk (vbKeyE), maar in het keypress event kun je wel detecten of het een hoofd of kleine letter is).
Hth...
Heb je de helpfile weleens in gekeken? KeyDown event is voorlopig leuk om te beginnen
KeyCode bevat een waarde wat de ascii waarde is van een toets. Nou ja, niet helemaal maar goed
Verder heb je nog een bergje vbKeyX constanten, waarbij X een teken is. Met dus bv een check als KeyCode >= vbKey0 And KeyCode <= vbKey9 kun dus checken of de keycode tussen die van de 0 en de 9 ligt. Naja en zo kun je daar dus meer checks doen
Hth...
Exact expert nodig?
Verwijderd
Komt ie:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'alleen nummertoetsen, komma en backspace toelaten
If KeyAscii = 46 Then KeyAscii = 44
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = 44 Or KeyAscii = vbKeyBack Then
Exit Sub
Else
KeyAscii = 0
Beep
End If
End Sub
Hiermee laat je alleen getallen toe, en de backspace & delete toets. Verder heb ik deze code in excel gebruikt in een nederlandse versie, dus mocht er alleen een "," gebruikt worden i.p.v. een ".", vandaar de regel :"If KeyAscii = 46 Then KeyAscii = 44".
Suc6 er mee.....
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'alleen nummertoetsen, komma en backspace toelaten
If KeyAscii = 46 Then KeyAscii = 44
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = 44 Or KeyAscii = vbKeyBack Then
Exit Sub
Else
KeyAscii = 0
Beep
End If
End Sub
Hiermee laat je alleen getallen toe, en de backspace & delete toets. Verder heb ik deze code in excel gebruikt in een nederlandse versie, dus mocht er alleen een "," gebruikt worden i.p.v. een ".", vandaar de regel :"If KeyAscii = 46 Then KeyAscii = 44".
Suc6 er mee.....
Zucht.
Drie woorden: Masked Edit Control
Vier letters:
Drie woorden: Masked Edit Control
Vier letters:
.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?
Verwijderd
Hier staat een voorbeeld hoe je het met API zou kunnen doen, maar dat is wel moeilijker dan het keypress voorbeeldje van hiervoor... http://www.vb2themax.com/Item.asp?PageID=CodeBank&ID=50
Enne, de links en rechts pijltjes?Op woensdag 03 oktober 2001 19:46 schreef jaro het volgende:
[lap code]
Masked Edit control is toch wel iets handiger.
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
Verwijderd
Die werken gewoon........Op donderdag 04 oktober 2001 10:33 schreef Gerco het volgende:
[..]
Enne, de links en rechts pijltjes?
Masked Edit control is toch wel iets handiger.
Pagina: 1