Диалоги в Wtl

Тема в разделе "MS Visual C++", создана пользователем -, 25 янв 2006.

Статус темы:
Закрыта.
  1. Гость

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

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

    lepa Гость

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

    <!--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. Но это решение тоже не совсем нравиться.
     
  4. lepa

    lepa Гость

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

    <!--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]
    Хотелось бы чего-нибудь типа:
    Код (Text):
    BEGIN_UPDATE_UI_MAP( CFrameWindow )
    ...
    UPDATE_ELEMENT_IF( ID_EDIT, ID_CHECK )
    ...
    END_UPDATE_UI_MAP()
    На самом деле в диалоге три сочетания checkbox/edit. Поэтому нужно писать три ОДИНАКОВЫЕ (почти) метода или один метод, но в нём определять ID checkbox'а. Но есть ещё большая проблема - этих диалогов много. И каждый раз писать одно и тоже утомляет.
    Вот и подумал, может есть какой-нибудь запасной вариант.

    Наверное всё-таки придётся создавать оболочку над checkbox'ом и edit'ом.
     
Загрузка...
Похожие Темы - Диалоги Wtl
  1. lionk
    Ответов:
    11
    Просмотров:
    2.605
  2. NickProstoNick
    Ответов:
    9
    Просмотров:
    2.244
  3. pbnoob
    Ответов:
    4
    Просмотров:
    3.456
Статус темы:
Закрыта.

Поделиться этой страницей