Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> EnableWindow, Вылетает ошибка 
V
    Опции темы
Kirow
Дата 8.5.2011, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 1.11.2007

Репутация: нет
Всего: нет



В общем в чем вся суть...пытаюсь освоить автоматизации VS, чтобы руками делать минимум.
Проблема возникла в следующем отрывке.
На диалоге есть две кнопки, которые мне нужно включать/отключать в зависимости от ситуации.
Визардом создаю переменные под эти 2 кнопки.
и в результате имею что-то типа
Код

//MyDialog.h
    CButton Next;                
    CButton Prev;    
//MyDialog.cPP
void MyDialog::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_BUTTON5, Next);
    DDX_Control(pDX, IDC_BUTTON4, Prev);
}

При попытке сделать
Код

Next.EnableWindow(TRUE);
Next.EnableWindow(FALSE);
Prev.EnableWindow(TRUE);
Prev.EnableWindow(FALSE);

Вылетает ошибка.
Есть вариант конечно прописать все руками типа
Код

CButton* Prev;
Prev = (CButton *)GetDlgItem(IDC_BUTTON);    
Prev->EnableWindow(TRUE);
Prev->EnableWindow(FALSE);


Но как раз вся суть не писать ничего руками.Поэтому вопрос, как правильно юзать EnableWindow при передаче переменных через DDX?
P.S.Заметил что Prev.EnableWindow работает если не использовать OnInitDialog, но нужно как-нибудь с ним(хотя где тут связь не пойму)

Это сообщение отредактировал(а) Kirow - 8.5.2011, 15:17
PM MAIL   Вверх
YDean
Дата 8.5.2011, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 7.9.2009

Репутация: нет
Всего: 1



DoDataExchange вызывается из стандарного CDialog::OnInitDialog(),
поэтому при переопределении OnInitDialog в ней нужно вызвать стандартный CDialog::OnInitDialog() до использования Prev и Next
PM   Вверх
Kirow
Дата 8.5.2011, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 1.11.2007

Репутация: нет
Всего: нет



И это правильный ответ!Благодарю. smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0400 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.