Обработка символьных сообщений


Оконная процедура принимает символьное сообщение тогда, когда функция TranslateMessage транслирует код виртуальной клавиши соответствующий клавише знака. Символьными сообщениями являются WM_CHAR, WM_DEADCHAR, WM_SYSCHAR и WM_SYSDEADCHAR. Обычно оконная процедура игнорирует все символьные сообщения кроме WM_CHAR. Функция TranslateMessage генерирует сообщение WM_CHAR тогда, когда пользователь нажимает какую-либо из следующих клавиш.

Когда оконная процедура принимает сообщение WM_CHAR, она должна проверить код буквы, который сопровождает сообщение, чтобы установить, как обрабатывать символ. Код буквы находится в параметре wParam сообщения.

Следующий пример показывает общую схему оконной процедуры, где типичная прикладная программа используется для приема и обработки символьных сообщений.

Демонстрационный пример

        case WM_CHAR: 
            switch (wParam) 
            { 
                case 0x08: 
                    
                    // Обработка возврата на один символ (Backspace). 
                     
                    break; 
 
                case 0x0A: 
                    
                    // Обработка перевода строки. 
                     
                    break; 
 
                case 0x1B: 
                    
                    // Обработка Escape. 
                    
                    break; 
 
                case 0x09: 
                    
                    // Обработка Tab. 
                     
                    break; 
 
                case 0x0D: 
                    
                    // Обработка перевода каретки. 
                     
                    break; 
 
                default: 
                    
                    // Обработка показываемых символов. 
                     
                    break; 
            } 

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz