FAQ:WinAPI VCPP:запретить кнопку
Материал из Весельчак У
Как запретить пользователю нажать на кнопку?
Нужно применить метод класса CWnd::EnableWindow(...) для кнопки. Значение 0 параметра делает кнопку неактивной, 1 - делает активной (кстати, не только для кнопки можно, а для любого класса, производного от класса CWnd).
Пусть имеется некий диалог, на нём лежит кнопка c ID == IDC_1. В любом месте кода диалога (кроме конструктора и деструктора, хотя, если проверить наличие валидного хендла диалога, как в примере, то ничего страшного не будет и там) выполняем код:
// делаем кнопку неактивной if (m_hWnd) { CWnd* pw = 0; pw = GetDlgItem(IDC_1); if (pw) { pw->EnableWindow(0); } }