Как запретить перемещение окна (формы) в visual basic 6 в режиме выполнения (run-time)

программирование visual basic

Здравствуйте!
Не могу найти решение следующей проблемы и буду признателен за помощь.

На Visual Basic 6 необходимо в режиме выполнения отключать и включать возможность перемещения окна, у которого есть полноценный заголовок (т.е. в нем есть и ws_border, и ws_caption, и ws_sysmenu и кнопки свернуть\развернуть и т.п.).

Мне показалось, что это простое дело, но оказалось, что показалось =)

По тем вариантам решения, что встречал:
А) ... убрать заголовок окна... - он нужен, убирать умею, с этим понятно, но не то.
Б) ... Moveable=False... - не применяется в RunTime, VB выдает ошибку на эту строку в режиме выполнения.
В)... события Form_MouseMove и Click и т.п... - не относятся к области заголовка. Все было бы чудесно, генерируй форма событие Move, но увы.

Догадываюсь, что нужно отлавливать какие-нибудь WindowsMessage и пресекать определенные, но пример кода не попался на лаза - буду признателен, если у кого есть.

Задача простая - сделать окно либо не подвижным (прилепленным к экрану), либо, в крайнем случае, отменять результат перемещения...

Примечание:
Спасибо, KielD-01, что откликнулись. Но дисейблинг формы сопряжен с разными нюансами вроде потери фокуса, насколько помню, и не совсем понимаю в скольких событиях тогда придется его включать. Если я правильно помню, неклиентский заголвок окна вообще не вызовет события вроде MouseDown ? Буду проверять, м.б.подойдет как раз и я ошибаюсь сейчас...
Ответы:
Да все просто.


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.