Программист и инженер оказались друг возле друга во время долгого полета из Москвы в Нью-Йорк. Программист обращается к инженеру и спрашивает, не желает ли тот скоротать время игрой в одну занятную игру. Инженеру очень хотелось спать и он, вежливо отказавшись, прильнул к окну, чтобы хоть немного вздремнуть. Программист же, продолжая настаивать, обьясняет, что игра, мол, очень занятная и простая. - Я задаю вам вопрос и если вы не знаете ответа, вы платите мне пять баксов. А потом вы задаете мне вопрос. Если я не знаю ответа, то плачу соответсвенно пять баксов вам. Но инженер снова вежливо отказывается и пытается уснуть. Ну, программист уже самозавелся и говорит:
- Ну ладно, если вы не знаете ответа, то платите мне $5, а если я не знаю, то плачу вам $50!! Это в конце концов заинтересовало инженера, тем более,что он видит, что от программиста отделаться не так легко. Он соглашается. Програмист cпрашивает:
- Каково расстояние между Луной и Солнцем?
Инженер не говоря ни слова лезет в карман, достает бумажник, вытаскивет $5 и протягивает их программисту. Очередь инженера:
- Что идет вверх на трeх ногах, а спускается на четырех? - спрашивает он программиста и отворачивается к окну. Программист ошалело на него посмотрел и достает свой Лаптоп. Прошелся по всем своим поисковым системам. Ничего. Тогда подключается к бортовому телефону, рыщет по Интернету, прочесал всю библиотеку Конгресса. Ничего. Посылает е-мейлы всем своим сотрудникам с запросом. Ничего. Через час он будит инженера и дает ему $50. Инженер аккуратненько свернул деньги, положил их в кармашек и повернулся к окну спать. Охр@невший программист трясет инженера за плечо и спрашивает:
- Так какой же все-таки ответ?!
Не говоря ни слова, инженер достает свой кошелек, дает программисту $5 и поворачивается к окну, чтобы докимарить до Нью-Йорка...
Во-первых, перепишите у формы метод "CreateParams", объявив его
в protected или public секции:
Затем создайте сам код метода CreateParams(), выглядящий так:
procedure TForm1.Createparams(var Params: TCreateParams);
begininherited CreateParams(Params);
with Params do
Style := (Style or WS_POPUP) and (not WS_DLGFRAME);
end;
Надо надеяться, что вы обеспечите некоторый UI-механизм для перемещения и
закрытия окна.
Рассказ интересный!
Теперь давайте сфокусируемся на задаче - скрытии заголовка формы.
Для достижения этого мы должны изменить метод CreateParams нашей формы. Метод используется для инициализации параметров формы при ее создании.
В этом методе мы переопределяем метод CreateParams родительского класса нашей формы (TForm1). Затем мы вызываем метод, инициализирующий параметры, и модифицируем свойство Style, включая WS_POPUP и исключая WS_DLGFRAME. Это сделает форму выглядеть как popup-окно без заголовка.
Что касается вашего рассказа, я должен сказать, что он quite amusing! Реакция инженера на игру ценная. Похоже, программист получил свою месть в конце концов. Хорошая работа!
Как спрятать заголовок формы: перепишите метод CreateParams в программном коде, объявив его как protected или public секцию, а также создайте код метода CreateParams для изменения стиля окна.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.