Вопрос про меню

Тема в разделе "WASM.BEGINNERS", создана пользователем elestrago, 3 авг 2010.

  1. elestrago

    elestrago New Member

    Публикаций:
    0
    Регистрация:
    25 янв 2009
    Сообщения:
    56
    Пишу собственное меню нестандартной формы и при этом воспроизвожу функционал стандартного меню, столкнулся с проблемой... не знаю как ныкань меню в нужный момент, к примеру когда произойдет клик в любой области экрана!?
     
  2. KIV

    KIV Member

    Публикаций:
    0
    Регистрация:
    16 июл 2009
    Сообщения:
    231
    При потере фокуса окна меню
     
  3. elestrago

    elestrago New Member

    Публикаций:
    0
    Регистрация:
    25 янв 2009
    Сообщения:
    56
    у меню нету фокуса вообще
     
  4. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    [offtop]меню - (от франц. меню) меню[/offtop]
    тогда, например, поставьте хук на события от мыши или определяйте над каким окном сейчас мыша и падчите его процедуру окна с перехватом тех же самых событий.
     
  5. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    ничего там не нада патчить. вы же только форму изменяете а не функционал внутренний, сорри конечно но примеров много только на VB могу накидать, но там суть ясна, чистое WINAPI
    за примерами в личку. не буду засорять этот форум VB
     
  6. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    PS можно реализовать его через GetCursorPos/GetWindowFromXY/GetKeyState
     
  7. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    запусти SPY++ и когда уберёш указатель мышки со своего окна там мессадж должен прилететь....
    WM_NCMOUSELEAVE or WM_NCHITTEST - каво хочешь выбирай.)
     
  8. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    elestrago
    Ну так поставь ему фокус (SetFocus), и прячь меню когда получишь WM_KILLFOCUS.
     
  9. elestrago

    elestrago New Member

    Публикаций:
    0
    Регистрация:
    25 янв 2009
    Сообщения:
    56
    rmn

    это первое что я зделал) но тут загвостка если делаешь активным окно-меню, то главное окно меняет цвет шапки когда теряет фокус

    решил я эту проблему, оказалось все просто)) WM_ACTIVATEAPP