Hirdetés
- Épített vízhűtés (nem kompakt) topic
- OLED TV topic
- Hobby elektronika
- Fejhallgató erősítő és DAC topik
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Vezetékes FEJhallgatók
- AMD vs. INTEL vs. NVIDIA
- Samsung Galaxy Tab S11 - tizenegyes
- Bemutatkoztak az Arctic P Pro Reverse sorozatú, "tükrözött" légkavarói
- AMD GPU-k jövője - amit tudni vélünk
Ú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
- Robotporszívók
- Battlefield 6
- laskr99: DFI és DFI Lanparty gyűjteményem
- Lexus, Toyota topik
- Elektromos autók - motorok
- Linux kezdőknek
- Épített vízhűtés (nem kompakt) topic
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- OLED TV topic
- Azonnali fáradt gőzös kérdések órája
- További aktív témák...
- Beyerdynamic DT 770 PRO X
- MSI Cyborg 15 A13V gamer laptop (garis) - PS5 beszámolok!
- Saeco Exprelia EVO I Szervizelve I Patika állapot I Automata tejeskancsó I Garancia I Beszámítás
- GAMER PC - Ryzen 7 5700x, RTX 3070 Founders, 32 gb RAM
- Eredeti Lenovo 90W szögleges laptop táp + kerek átalakító egyben eladó
- Telefon felvásárlás!! Xiaomi Redmi Note 12, Xiaomi Redmi Note 12 Pro, Xiaomi Redmi Note 12 Pro+
- 144 - Lenovo LOQ (15ARP9) - AMD Ryzen 7 7435HS, RTX 4060 (ELKELT)
- DELL Precision 7540 - Intel Core i9-9980HK, RTX 3000, 32GB, 1TB SSD (ELKELT)
- Apple iPhone 13 Pro Max Graphite ProMotion 120 Hz, Pro kamerák 128 GB-100%-3hó gari!
- BESZÁMÍTÁS! ASRock B450M R5 2600 16GB DDR4 256GB SSD 1TB HDD GTX 1650 4GB Zalman T4 PLUS 400W
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


