Многооконность

Тема в разделе "WASM.BEGINNERS", создана пользователем OSMan, 6 окт 2007.

  1. OSMan

    OSMan New Member

    Публикаций:
    0
    Регистрация:
    18 авг 2007
    Сообщения:
    23
    Где найти информацию о создании многооконных прилогов?
    Меня интересует:
    * модальные окна
    * создание двух и более окон (чтобы можно было переключаться между ними)
    * MDI-окна
    * прочее-прочее...
    Заранее спасибо за линки
    Ограничение: язык MASM
     
  2. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    примеры в пакете масма, туторы Iczeliona
     
  3. OSMan

    OSMan New Member

    Публикаций:
    0
    Регистрация:
    18 авг 2007
    Сообщения:
    23
    * модальные окна - нашел
    * MDI-окна - нашел

    а где создание двух и более окон (чтобы можно было переключаться между ними)
     
  4. NickLion

    NickLion А вам зачем

    Публикаций:
    0
    Регистрация:
    19 сен 2006
    Сообщения:
    22
    Адрес:
    Ищите
    А в чем проблема? Для каждого окна пишешь свой обработчик, а цикл сообщений общий. Многопоточность, я думаю, не нужна? Собственно 2 и более окон ничем не отличаются от 1 окна с точки зрения написания кода.

    Примерно так :)
    зарегистрировать класс окна 1
    зарегистрировать класс окна 2
    ...
    зарегистрировать класс окна n
    создать все окна
    цикл обработки сообщений
     
  5. OSMan

    OSMan New Member

    Публикаций:
    0
    Регистрация:
    18 авг 2007
    Сообщения:
    23
    А если я использую диалоги из ресурсов?
    Пробовал из WM_INITDIALOG главного окна вызывать ф-цию DialogBoxParam,hInstance,idd_dlgIDS,0,addr IDS_DlgProc,0.
    В результате - главного окна нет, второе выскакивает, и пока его не закроешь первое не появляется :dntknw:
     
  6. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    почитай о порядке сообщений при создании окна.
     
  7. OSMan

    OSMan New Member

    Публикаций:
    0
    Регистрация:
    18 авг 2007
    Сообщения:
    23
    RamMerLabs
    То есть?..
     
  8. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    Вот примерно так:

    1. Используем функцию CreateDialog() для создания диалогов, между которыми можно переключаться.
    2. Делаем стандартную очередь сообщений с TranslateMessage() и DispatchMessage().
    3. В этой очереди применяем IsDialogMessage() для каждого созданного диалога

    Примера нету, так что зайди на MSDN по этим функциям и посмотри примеры кода.

    На английском смотри здесь:
    http://msdn2.microsoft.com/en-us/library/aa383686.aspx

    Иди на Dialog Box ну и далее...
     
  9. OSMan

    OSMan New Member

    Публикаций:
    0
    Регистрация:
    18 авг 2007
    Сообщения:
    23
    undefined symbol : CreateDialog
    Где есть описание сей функции?
     
  10. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Используйте CreateDialogParam. CreateDialog - всего лишь макрос, ссылающийся на CreateDialogParam.