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 !!!
Похожие материалы
Последние из рубрики
- Delphi Уроки: Гиперссылка из Label на Раз, Два, Три
- Delphi уроки -Скриншот страницы в компоненте WebBrpwser
- Delphi Уроки: компонент ProgressBar внутри компонента ListView