| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Как сделать кнопку Enabled |
| Автор: Paradox 3.12.2002, 23:31 |
| Хочу на MSVC сделать до поры до времени кнопку Enabled (потом наоборот). На билдере просто button1.enabled = false, а как на MSVC ? И еще как можно менять размер и вид шрифта компонентов. |
| Автор: Rimas 3.12.2002, 23:59 |
| Это элементарно. Если IDC_BUTTON это ID кнопки в ресурсах то код будет выглядеть так: GetDlgItem(IDC_BUTTON)->EnableWindow(FALSE); //или TRUE если нужно сделать ее активной |
| Автор: Данкинг 24.1.2007, 17:18 | ||
А в чём здесь ошибка?! Знаю, что тупой вопрос - видимо, как-то процедуру к окну привязать надо?
|
| Автор: zkv 24.1.2007, 17:29 |
| Данкинг, во первых вопрос по Визуалу, во вторых ни о чем код ваш не говорит, в третьих ошибки какие? А в четвертых заведите control variable для вашей кнопки и не морочьте себе голову |
| Автор: _hunter 24.1.2007, 17:34 |
это у тебя спрашивать нужно... (точнее симпотомы этой ошибки) навскидку: проверка успешности: if (GetDlgItem(IDC_BUTTON16)) GetDlgItem(IDC_BUTTON16)->EnableWindow(FALSE); совсем не лишней будет... |
| Автор: Данкинг 24.1.2007, 17:36 | ||
| Я просто тему про кнопки нашёл... По нажатию на кнопку я хочу вызвать процедуру, в которой данная кнопка блокируется (disabled). Ошибки вот такие вылезают:
А переменную я завёл, но, во-первых, с ней та же фигня, а, во-вторых, не могу понять, где там в свойствах enable находится?... |
| Автор: threef 24.1.2007, 20:17 | ||
Функция en() у вас не связана с классом окна, поэтому ей требуется 2 параметра: указатель на окно-диалог и индекс управляющего элемента(кнопки). Лучше ее сделать методом класса диалогового окна. Иначе
|
| Автор: Данкинг 24.1.2007, 20:53 | ||||
Вот нечто подобное я имел в виду, спасибо! |