Zdarzenie KeyPressZdarzenie KeyPress jest generowane po naciśnięciu i zwolnieniu klawisza. Po wykonaniu takiej operacji zdarzenie jest wykonywane na rzecz obiektu, który jest aktualnie wyróżniony. Składnia: Private Sub Form_KeyPress (ZnakAscii As Integer) Private Sub obiekt_KeyPress ([Indeks As Integer,] ZnakAscii As Integer) Składnia zdarzenia KeyPress składa się z następujących części:
Zdarzenie to odbierze obiekt, który jest wyróżniony. Forma może otrzymać to zdarzenie, jeżeli nie posiada widocznych i dostępnych elementów sterujących lub jeżeli właściwość KeyPreview jest ustawiona na True. Zdarzenie KeyPress może dotyczyć każdego drukowalnego znaku klawiatury, klawisza CTRL połączonego ze znakiem alfabetu lub jakimś specjalnym znakiem, a także klawiszy ENTER lub BACKSPACE. Procedura zdarzenia KeyPress jest użyteczna do przechwytywania uderzeń w klawisze wprowadzone w kontrolkach TextBox lub ComboBox. To pozwala natychmiast sprawdzić prawdziwość uderzeń w klawisze lub formatować znaki w trakcie pisania. Można konwertować argument ZnakAscii na znak używając wyrażenia: Chr(ZnakAscii) Można także tłumaczyć znak na numer ANSI, żeby element sterujący mógł go zinterpretować, używając do tego wyrażenia: ZnakAscii = Asc(Znak) Procedury zdarzeń KeyDown i KeyUp używane są do rozpoznawania każdego uderzenia w klawisz nie rozpoznanego przez KeyPress, takich jak klawisze funkcyjne, klawisze edycjyjne, klawisze nawigacyjne lub każda kombinacja tych klawiszy. W odróżnieniu od zdarzeń KeyDown i KeyUp, KeyPress nie sygnalizuje fizycznego stanu klawiatury, zamiast tego przyjmuje znak. KeyPress interpretuje dużą i małą literę każdego znaku jako oddzielne kody klawiszy, czyli jako dwa oddzielne znaki. KeyDown i KeyUp interpretują dużą i małą literę każdego znaku, przez rozróżnienie dwóch argumentów: Kod, rozróżnia tylko fizycznie klawisz (tak więc zwraca "A" i "a" jako ten sam klawisz), natomiast Stan rozróżnia stan typu Shift+klawisz i dlatego zwraca obydwa "A" i "a". Jeżeli właściwość KeyPreview ma wartość True forma otrzymuje zdarzenie przed kontrolkami. Właściwość KeyPreview używana jest do tworzenia ogólnych układów korzystania z klawiatury. Numer ANSI dla kombinacji kalwiatury CTRL+@ jest 0.Ponieważ Visual Basic rozpoznaje wartość ZnakAscii 0, jako pusty łańcuch (""), należy unikać używania CTRL+@ w aplikacjach. Lista obiektów wykorzystujących zdarzenie KeyPress: CheckBox ComboBox CommandButton DBCombo DBGrid DBList DirListBox DriveListBox FileListBox Form HScrollBar ListBox OLEContainer OptionButton PictureBox PropertyPage Slider SSTab TabStrip TextBox UserControl UserDocument VScrollBar |