![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пристыковка к краям экрана
Ask_For_Help © (2007-11-01 00:01:00)ПРивет. Как осуществить snap-to-screen в KOL? Есть какие-то штатные средства для этого? Если нет, то как сделать?
Ask_For_Help (2007-11-01 09:40:00) [1]Спасибо!
Elec3C (2007-11-01 00:22:00) [2]...
SizeSnap : Integer; // С какой позиции прилипать
...
SizeSnap := 10;
...
function TForm1.KOLFormMessage(var Msg : tagMSG; var Rslt : Integer) : Boolean;
var
WorkArea : TRect;
WinPos : PWindowPos;
begin
Result := False;
with Msg do
if message = WM_WINDOWPOSCHANGING then
begin
SystemParametersInfo(SPI_GETWORKAREA, 0, @WorkArea, 0);
WinPos := PWindowPos(lParam);
with WorkArea, WinPos^ do
begin
Dec(Right, cx); Dec(Bottom, cy);
if Abs(Left - x) <= SizeSnap then x := Left;
if Abs(Right - x) <= SizeSnap then x := Right;
if Abs(Top - y) <= SizeSnap then y := Top;
if Abs(Bottom - y) <= SizeSnap then y := Bottom;
end;
end;
end;