Создать невидимый диалог

Тема в разделе "WASM.WIN32", создана пользователем CodeGrinder, 27 мар 2009.

  1. CodeGrinder

    CodeGrinder New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    56
    Нужно таким образом модифицировать диалоговую процедуру, чтобы после вызова DialogBox диалог не появлялся на экране (пока пользователь не кликнет на иконке в трее).

    Заранее спасибо.
     
  2. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    CodeGrinder

    ShowWindow(SW_HIDE) по WM_INITDIALOG не помогает?
     
  3. HuXTUS

    HuXTUS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2007
    Сообщения:
    240
    Насколько помню, у меня не получалось в INITDIALOG применить SW_HIDE. Хз почему. Поэтому создавал таймер, который при старте выключался и вызывал ShowWindow(SW_HIDE). При этом окно при запуске мерцало.
     
  4. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    тут какой-то странный феномен - первый вызов не может скрыть окно. Я делал так:

    при WM_INITDIALOG:
    Код (Text):
    1. ;чтоб убрать с экрана, + первый, блин (комом), вызов
    2.       invoke ShowWindow,[hwnd],SW_MINIMIZE
    3. ...
    4. ;Пусть эта сволочь думает, что нажали кнопку 'Cancel'
    5.      invoke PostMessage,[hwnd],WM_COMMAND,BN_CLICKED shl 16 + IDCANCEL,0
    6. ...
    а при WM_COMMAND, собственно, по кнопке "Cancel" диалог скрывался:
    Код (Text):
    1. ...
    2.      cmp     [wparam],BN_CLICKED shl 16 + IDCANCEL
    3.      jz      hide_me
    4. ...
    5. hide_me:
    6.     invoke ShowWindow,[hwnd],SW_HIDE
    7.     jmp processed
    При вызове ShowWindow(SW_HIDE) при инициализации диалог в самом деле не прячется - спрятать можно только после. Свернутое окно не мерцает :)
     
  5. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    http://wasm.ru/forum/viewtopic.php?id=25332
     
  6. CodeGrinder

    CodeGrinder New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    56
    И у меня не выходило. Просто диалог создается после вызова INITDIALOG с параметром по умолчанию SHOWNORMAL или типа того. Победить это, я думаю, можно только через DLGTEMPLATE.
     
  7. CodeGrinder

    CodeGrinder New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    56
    Многое прояснилось. Я попробую! Спасибо!)
     
  8. mrcrown

    mrcrown Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    227
    А стиль WS_VISIBLE не пробывал?