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

Опубиковано: 30.12.2008 г., автор: , просмотров: 27809

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;

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

До встречи DelphiExpert.ru !!!



Похожие материалы

    Последние из рубрики

    Алексей 09 Feb 2009 в 00:00 #
    Ну спасибо Очень пригодилось!!!
    Алексей 09 Feb 2009 в 00:00 #
    Ну спасибо Очень пригодилось!!!
    Vemer 28 Jan 2009 в 00:00 #
    Работу с сообщениями принято пихать в раздел Private.
    Alex 07 Jan 2009 в 00:00 #
    сенкс ту Миша! :)
    новый для меня сайт

    ОтменитьДобавить комментарий