FAQ по C/C++/Visual C++
Работа с сетью Расширенное управление вводом путем создания оконных подклассов |
Составители: SUnteXx, Leprecon |
Расширенное управление вводом путем создания оконных подклассов | |||
////////////////////////////////////////////////////////////////////////////// // Расширенное управление вводом путем создания оконных подклассов. // Автор статьи: cyberSpice друг Ozzy Osbourne. // e-mail: alex@shuya.ipn.ru // www: http://shuya.ipn.ru/~cyberSpice //////////////////////////////////////////////////////////////////////////////Когда нужно поле ввода, которое допускает ввод только чисел, нужно установить стиль Number в окне свойств элемента управления. А как быть если нужно, например, запретить ввод чисел. Тогда нужно немного попрограммировать и поступить можно нижеописанным образом. 1. В редакторе ресурсов поместите на диалог поле ввода CEdit. И пусть его идентификатор будет IDC_EDIT1. 2. Создайте новый класс (например CMyEdit), производный от CEdit. И напишите обработчик сообщения WM_CHAR: void CMyEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)<br> { if (!isdigit(nChar)) // если это не цифра CEdit::OnChar(nChar, nRepCnt, nFlags); }3. В заголовке производного класса диалогового окна объявите закрытую переменную-член класса CMyEdit: // ... private: CMyEdit m_MyEdit; // ...4. Добавьте в переопределенную функцию OnInitDialog строку: m_MyEdit.SubclassDlgItem(IDC_EDIT1, this); |
|||
|
FAQ составлен по материалам Форума на Исходниках.Ру. Copyright © 2002 by Sources.ru. All rights reserved. |