• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Диалоги в Wtl

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

WTL начал изучать недавно. Возник следующий вопрос.
Есть диалог (модальный). В диалоге есть checkbox и строак редактирования. Нужно сделать следующее. Если checkbox установлен, то разрешить использование строки редактирования. Если галочка в checkbox'е снята - строка редактирования пока запрещена.
Я нашёл следующий способ. Я обрабатываю сообщения от checkbox'а и вручную устанавливаю состояние строки редактирования.
Но может есть другой, более красивый способ?

Пытался начледовать диалог от CIndleHandler и CUpdateUI и в методе OnIdle проверять checkbox. Этот способ не работает - управление не доходит до метода OnIdle.
 
L

lepa

что то вроде этого
if(m_Check.GetCheck()==0)
----код
else
----код
 
G

Guest

<!--QuoteBegin-lepa+25:01:2006, 10:53 -->
<span class="vbquote">(lepa @ 25:01:2006, 10:53 )</span><!--QuoteEBegin-->что то вроде этого
if(m_Check.GetCheck()==0)
----код
else
----код
[snapback]29765" rel="nofollow" target="_blank[/snapback]​
[/quote]
Я так и сделал. Но выглядит как-то не красиво, несолидно. Вот и спрашиваю, может есть более красивый способ?
Я уже начал подумывать, чтобы создать класс, объединяющий и checkbox и edit. Но это решение тоже не совсем нравиться.
 
L

lepa

для чего усложнять когда все легко и просто,
Код:
if(m_Check.GetCheck()==0)
    m_Edit.SetReadOnly(FALSE);
else
    m_Edit.SetReadOnly(TRUE);
кратко красиво и понятно)
 
G

Guest

<!--QuoteBegin-lepa+25:01:2006, 14:28 -->
<span class="vbquote">(lepa @ 25:01:2006, 14:28 )</span><!--QuoteEBegin-->кратко красиво и понятно)
[snapback]29780" rel="nofollow" target="_blank[/snapback]​
[/quote]
Хотелось бы чего-нибудь типа:
Код:
BEGIN_UPDATE_UI_MAP( CFrameWindow )
...
UPDATE_ELEMENT_IF( ID_EDIT, ID_CHECK )
...
END_UPDATE_UI_MAP()
На самом деле в диалоге три сочетания checkbox/edit. Поэтому нужно писать три ОДИНАКОВЫЕ (почти) метода или один метод, но в нём определять ID checkbox'а. Но есть ещё большая проблема - этих диалогов много. И каждый раз писать одно и тоже утомляет.
Вот и подумал, может есть какой-нибудь запасной вариант.

Наверное всё-таки придётся создавать оболочку над checkbox'ом и edit'ом.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!