sguruapp@gmail.com
facebook vk instagram Одноклассники youtube

Изменение размеров формы при BorderStyle=bsNone - Delphi


private
procedure HitTest(var Msg: TWMNcHitTest); message WM_NCHITTEST;

procedure TForm1.HitTest(var Msg: TWMNcHitTest);
var X, Y: Integer;
begin
inherited;

// Получаем координаты мыши относительно формы
X := Msg.XPos - Left;
Y := Msg.YPos - Top;

if X <= 5 then // Если мышь у левого края формы
begin
if Y <= 5 then // Если мышь у верхнего края формы
Msg.Result := HTTOPLEFT
else
if Y >= ClientHeight - 5 then
Msg.Result := HTBOTTOMLEFT // Мышь у левого нижнего края
else
Msg.Result := HTLEFT;
end
else

begin
if Y <= 5 then

begin
if X >= ClientWidth - 5 then
Msg.Result := HTTOPRIGHT // У правого верхнего края
else
Msg.Result := HTTOP; // У верхнего края
end
else

begin

if Y >= ClientHeight - 5 then
begin
if X >= ClientWidth - 5 then
Msg.Result := HTBOTTOMRIGHT // У правого нижнего края
else
Msg.Result := HTBOTTOM; // У нижнего края
end
else

if X >= ClientWidth - 5 then
Msg.Result := HTRIGHT // У правого края
else
Msg.Result := HTCAPTION; // Внутри формы
end;
end;

end;

Возврат к списку

обучись профессии будущего

Хочешь стать успешным разработчиком
приложений? Тогда добро пожаловать к нам.

обучись профессии будущего