Hirdetés
- Tovább tarthat a memóriakrízis, mint gondolnánk
- Analóg fényképezés
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Milyen TV-t vegyek?
- OLED monitor topic
- Samsung LCD és LED TV-k
- Azonnali VGA-s kérdések órája
- A jövőben nem csak a gazdagok kiváltsága lehet az Intel CPU-k tuningja
- Apple MacBook
Ú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
- Tovább tarthat a memóriakrízis, mint gondolnánk
- exHWSW - Értünk mindenhez IS
- One otthoni szolgáltatások (TV, internet, telefon)
- Kertészet, mezőgazdaság topik
- Milyen okostelefont vegyek?
- Analóg fényképezés
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Győr és környéke adok-veszek-beszélgetek
- Gitáros topic
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- További aktív témák...
- Eladó: Playstation 5 + PlayStation VR2 szinte új állapotban!
- Latitude 5520 27% 15.6" FHD IPS érintő i5-1145G7 16GB 512GB NVMe magyar vbill ujjolv IR kam gar
- Corsair Void Elite Surround Bolti ár:32k INGYEN FOXPOST
- BESZÁMÍTÁS! Microsoft XBOX Series S 512GB játékkonzol garanciával hibátlan működéssel
- P15 Gen2i 27% 15.6" FHD IPS i5-11500H RTX A2000 32GB 512GB NVMe ujjlolv gar
- Samsung Galaxy S23+ / 8/128GB / Kártyafüggetlen / 12Hó Garancia
- Honor Magic 6 Pro 512GB Black Karcmentes állapot 12GB RAM 6 hónap garancia
- GYÖNYÖRŰ iPhone XR 128GB Red-1 ÉV GARANCIA - Kártyafüggetlen, MS3984, 100% Akkumulátor
- AKCIÓ! Asus TUF A16 2024 FA607NUG Gamer notebook - R7 7445HS 16GB DDR5 1TB SSD RTX 4050 6GB
- Eladó/BONTATLAN Lenovo LOQ i7-13650HX 16GB 1TB RTX 4060 8GB
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

