- Dobja a kapszulát és 8000 mAh fölé lő a Honor kompaktja
- Yettel topik
- Motorola Edge 50 Fusion - jó fogás
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Külföldi prepaid SIM-ek itthon
- Xiaomi 15T Pro - a téma nincs lezárva
- Redmi Note 15 Pro+ - több plusz, mint mínusz
- Xiaomi 17 - még mindig tart
- Motorola Moto G06 Power – nagyfater új zakót vett
- Samsung Galaxy Fit 3 - keveset, de jól
Új hozzászólás Aktív témák
-
vilag
tag
Üdv!
Újabb fogós kérdés merült fel.
Egy multipage egyik lapján egy különböző frameeken belűl vannak nekem egy vezérlőim.
A vezérlőkbe beírható karaktereket szeretném korlátozni. Mivel egy részüknél ugyan az a korlátozás szükséges (vagyis csak számok írhatóak be), subrutinná tettem egy eddig vezérlőnként alkalmazott eljárást.
Sub csakszam()
'8: backspace, 9: tabulátor, 13: enter, 17: Ctrl, 32: space, 46: delete, 48-57: felső számok, 86: v, 96-105: numpad számok, 109: numpad mínuszjel, 110: numpad pont, 186: é, 187: ó,
'188: vessző, 189: kötőjel, 190: pont, 191: ü, 192: ö, 219: ő, 220: ű, 221: ú, 222: á, 226:í
If KeyCode = 8 Or KeyCode = 46 Or _
(KeyCode >= 48 And KeyCode <= 57) _
Or (KeyCode >= 96 And KeyCode <= 105) Then
TextBox1.Locked = False
Else
TextBox1.Locked = True
End If
End SubA vezlőnél pedig ez van megírva:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 'Ügyirat alszámba csak számot enged írni
csakszam
End SubGondolom sejtitek, hogy ez így nem működőképes (vagyis nem általánosságban), különben nem írtam volna.
Gondoltam könnyen általánossá tehető a dolog egy huszárvágással, mert a "Textbox1" helyére egyszerűen bevezetek egy változot, amely mindig az aktuális vezérlő nevét helyettesíti.
Azonban úgy nem működőképes a dolog.
Egyik okát tudom: a KeyCode "rendszerváltozó" tartalma nem vihető át egy másik rutinba csak egy változón keresztül (mondjuk azt nem értem miért nem tehető a KeyCode rendszerváltozó egyszerűen publikussá, erre is várok valami okosat ha lehet). Ezt még meg is oldottam.NADE, azt mondja meg valaki, hogy hogyan lehet kinyerni, hogy melyik az aktív vezérlő????
Mert ugyan is ha beteszem mondjuk, hogy:Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 'Ügyirat alszámba csak számot enged írni
x=ActiveControl
csakszam
End Subakkor az x értéke furcsa módon nem az lesz, hogy "Textbox1", hanem az, hogy "Multipage1".
Pedig a súgója azt állítja, hogy az aktív vezérlő nevét adja eredményül, már pedig én erősen a Textbox1-ben buzerálódom.
Várom a megoldási javaslatokat, esetleg konkrét kódrészlettel is.
Az is érdekelne (ahogy fentebb is írtam, hogy ha meg tudja mondani valaki), hogy a KeyCode rendszerváltozó miért nem tehető publikussá.Köszönöm a segítségeteket!!!!!!!
Új hozzászólás Aktív témák
- Corsair iCUE ELITE CPU Cooler LCD Display Upgrade Kit
- Lenovo Thinkpad E595 Ryzen 5 pro 3500U, Radeon Vega 8, 8-16GB RAM, SSD, jó akku, számla, gar
- Bomba ár! HP Dragonfly G4 i7-13G I 32GB I 512SSD I 13,5" FHD+ Touch I Cam I W11 I Garancia!
- Bomba ár! HP Elite Dragonfly Max i7-11G I 32GB I 512SSD I 13,3" FHD Touch I Cam I W11 I Garancia!
- Intel Core i7-13700 vennék!
- AKCÓ! HTC VIVE Pro 2 virtuális valóság szemüveg garanciával hibátlan működéssel
- Honor X7b 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS4677
- LG 65QNED86A / MiniLED / 65" - 164 cm / 4K UHD / 144Hz / HDR Dolby Vision / FreeSync Premium / VRR
- Beszámítás! MSI Thin 15 B13UC FHD GAMER notebook - i5 13420H 16GB DDR4 512GB SSD RTX 3050 4GB WIN11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


