Window - Don't move

Тема в разделе "WASM.BEGINNERS", создана пользователем ATX, 14 май 2008.

  1. ATX

    ATX New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2006
    Сообщения:
    145
    Понятно что простого решения нет!
    Но решение обязательно должно быть, возможно не простое но элегантное и не глючное ;)
     
  2. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    ATX
    NCHITTEST - решение простое (всего несколько байт кода), быстрое и не глючное. Впрочем, если вы знаете лучше - пишите. Мы вам похлопаем.
     
  3. AsmGuru62

    AsmGuru62 Member

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

    al79 Алексей

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    133
    Адрес:
    Екатеринбург
    А может сообщение WM_MOVING обрабатывать или WM_MOVE?
     
  5. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    WM_MOVE приходит уже постфактум, т.е. когда юзер уже успел сменить позицию окна. А вот WM_MOVING, равно как и WM_WINDOWPOSCHANGING, тоже можно использовать. Только, в отличие от последнего, мониторить размер окна при его изменении WM_MOVING не умеет. За это отвечает WM_SIZING.
     
  6. ATX

    ATX New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2006
    Сообщения:
    145
    DEEP

    WM_MOVING - уже хорошо)
    Остается вопрос - каким образом дальше рулить окном, я вижу 2 варианта:
    1. Посдавлять в SetWindowPos начальные координаты окна
    2. Поработать с самим сообщением, подставлять в lParam (если мне не изменяет память) теже начальные координаты окна или вообще "глушить" сообщение.