15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Альтернативный дисэйбл editbox контрола

Автор: Сергей Дмитриев ( http://visualcpp.da.ru )

Компилятор: Visual C++ 6.0

Вам не нравится, как работает метод EnableWindow(FALSE) для контола класса CEdit? Мне тоже не всегда. Предлагаю альтернативный способ блокирования окна редактирования от изменений пользователем, без изменения его внешнего вида (вместо grayed закрашивания).

Всё как обычно просто: добавляете на форму edit control, создаете для него мембера в классе формы, но делаете его не как обычно от CEdit, а от предлагаемого модифицированного CEditEx. Для блокирования контрола используйте метод CEditEx::LockControl(). Пример проекта и пример приложения прилагаются (MFC). Для Вашего проекта понадобятся только два файла EditEx.h и EditEx.cpp.

Скриншот

 

Скачать демонтстрационный пример - 20 Kb

Скачать исходник - 13 Kb