Главная | Регистрация | Вход
Среда, 06.08.2025, 12:15
Приветствую Вас Гость | RSS
Навигация:
Категории:
Базы данных [9]
Графика и Игры [0]
Интернет и Сети [0]
Компоненты и Классы [0]
Мультимедиа [0]
ОС и Железо [0]
Программа и Интерфейс [0]
Технологии [0]
Файловая система [0]
Программирование на Delphi [23]
Обучающие статьи [26]
Небольшие уроки по Delphi
Синтаксис [0]
Рабочий стол [0]
qwerty [0]
Чат сайта:
Главная » Статьи » Обучающие статьи

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

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

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

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

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

Code
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;

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

Категория: Обучающие статьи | Добавил: NekitoS (20.04.2009)
Просмотров: 1173 | Рейтинг: 2.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Контакты
ICQ:306182
Статистика
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Copyright "Delphi Project Ltd" © 2025