Пятница, 19.04.2024
Королевство Delphi
Главное меню
Статьи
Наш опрос
Нашли свой исходник?
Всего ответов: 94
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Разные » Примеры Delphi

Запрещаем форме уезжать за пределы экрана

Простой пример того, как сделать так что бы фору нельзя было перетащить за пределы экрана. Делается это всего лишь при помощи одной процедуры. Итак, поехали:

Открываем Delphi, создаем новый проект, после ключевого слова public пишем:

procedure WMMoving(var Msg: TWMMoving); message WM_MOVING;

Далее нажимаем комбинацию клавиш CTRL+SHIFT+C

Delphi создаст шаблон для нашей процедуры. Я её уже дописал, поэтому посмотрите что получилось у меня и добавьте к себе в код недостающие строки:

procedure TForm1.WMMoving(var Msg: TWMMoving);
var
workArea: TRect;
begin
workArea := Screen.WorkareaRect;
with Msg.DragRect^ do
begin
if Left < workArea.Left then
OffsetRect(Msg.DragRect^, workArea.Left - Left, 0) ;
if Top < workArea.Top then
OffsetRect(Msg.DragRect^, 0, workArea.Top - Top) ;
if Right > workArea.Right then
OffsetRect(Msg.DragRect^, workArea.Right - Right, 0) ;
if Bottom > workArea.Bottom then
OffsetRect(Msg.DragRect^, 0, workArea.Bottom - Bottom) ;
end;
inherited;
end;

Вот и все ! Запустите программу и попробуйте перетащить форму за пределы экрана. Если не получиться то значит, вы всё сделали верно!

Получить ссылку на материал

Категория: Примеры Delphi | Добавил: Барон (21.12.2011)
Просмотров: 1041 | Теги: форма, экран | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
Delphi.NET [3]
Kylix Delphi for Linux [9]
Советы Дельферу [6]
Хитрости в Delphi [2]
Обзор Delphi [45]
Инсталлятор [11]
Пользовательский интерфейс [18]
Примеры Delphi [93]
Функции и процедуры [15]
Разные [31]
Королевство Delphi © 2010-2024
Яндекс цитирования