Окна поверх всех и перемещения окна не за заголовок.
Внезапно узнал что такие простые вещи вызывают сложности. Решил показать как это делать. В этом нет ничего сложного. Метод универсальный и его можно повторить на любом языке. У меня под рукой Delphi и С#. Потому покажу на примере этих языков. Как вы сможете убедится - код абсолютно одинаковый.
Начнем с того как сделать так, что бы ваша программа была "поверх всех". Делается это очень просто и не требует ни какого программирования. В свойствах формы нужно задать нужной свойство.
В Delphi это FormStyle = fsStayOnTop, а в C# соответсвенно TopMost = True. Это все. Теперь ваша программа будет поверх всех других. при этом не потребовалось вообще программировать. Да, это можно сделать и программно. Скажу больше - можно так же на чистом WinAPI создать окно и задавать параметры окна. Можно сделать через стили (SetWindowLong например).
Теперь как двигать окно не за заголовок, а за само окно. Это тоже очень простая задача, хотя и требует программирования.
Для начала покажу "продвинутый" но не очень правильный метод. Продвинутый он потому что требует глубокого понимания WinAPI (конечно если вы не просто копируете код, а пробуете понять что же он делает). Не углубляясь в подробности, скажу что данный код просто "обманывает" ОС. В момент нажатия кнопки мыши, мы делаем "захват" мыши и сообщаем ОС что мышка в данный момент на заголовке. Так же оговорюсь, что не смотря на краткость и красивость этого кода, он может давать сбой при некоторых условиях. По этой причине лучше использовать другой, универсальный способ.
Универсальный способ потребует большего программирования. Вам нужно объявить 3 переменные. Флаг - нажата ли в данным момент кнопка мыши и 2 переменные для координат - в каком месте нажата кнопка. Далее нужно создать 3 обработчика события формы: нажатие кнопки мыши, перемещение мыши и отпускание кнопки мыши.
При нажатии копки, мы устанавливаем флаг - кнопка нажата.
При перемещении мыши, проверяем - если флаг нажатия установлен, тогда перемещаем форму с поправкой координат.
При отпускании копки - снимаем флаг нажатия.
Вот собственно и все. Код не учитывает разницу между левой и правой кнопкой, потому перетаскивание будет работать для обоих кнопок.
Меня как человека думающего это возмущает. Я хочу думать об информации, а не о том, что мне там впихивают насильно. Сайтовладелец и рекламодатель это игнорят.
http://www.vocaloidnews.net/ru/открыт-конкурс-дизайна-2018-racing-miku/
https://www.multitran.ru/
И тут меня атакует реклама - слева, справа, сверху! И я, чтобы начать соображать - а какое слово мне выбрать - обязан ознакомиться с рекламой. Хотя не хотел! И придётся мне, как и 20 лет назад, пользоваться бумажным словарём... Но ни для кого не секрет, что информация в словарях не обновляется 20 лет.
А что вам собственно мешает использовать блокировщик рекламы такой как AdBlock? Вообще то уже все давно придумано
А например Skype может переводить голос "на лету". Вы говорите по русски, а собеседник слышит английскую речь.
Про блокировщики рекламы вы меня тоже честно говоря удивили. Они появились как только появилась реклама в интернете.
Не бойтесь менять привычки.