Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.28;
Скачать: CL | DM;

Вниз

Пристыковка к краям экрана   Найти похожие ветки 

 
Ask_For_Help   (2007-11-01 00:01) [0]

ПРивет. Как осуществить snap-to-screen в KOL? Есть какие-то штатные средства для этого? Если нет, то как сделать?


 
Elec3C ©   (2007-11-01 00:22) [1]

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


 
Ask_For_Help   (2007-11-01 09:40) [2]

Спасибо!



Страницы: 1 вся ветка

Текущий архив: 2008.09.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
15-1217688147
DevilDevil
2008-08-02 18:42
2008.09.28
Колонки: Left <-->Right


2-1219137611
AlexanderMS
2008-08-19 13:20
2008.09.28
Нужно ли делать такие вызовы перед выходом из программы?


6-1193750989
Chaser
2007-10-30 16:29
2008.09.28
Аутентификация на ISA сервере


15-1217001779
Сергей М.
2008-07-25 20:02
2008.09.28
Это я


2-1219260710
Рома
2008-08-20 23:31
2008.09.28
bios