Главная страница
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.021 c
2-1218968367
altatr
2008-08-17 14:19
2008.09.28
Как узнать об активных сетевых подключениях


3-1206532972
Xmen
2008-03-26 15:02
2008.09.28
Хранимая процедура. Перевод строки


2-1218647371
Logger
2008-08-13 21:09
2008.09.28
Как вынести в отдельный юнит, свои Конструкторы? (constr)


15-1217688147
DevilDevil
2008-08-02 18:42
2008.09.28
Колонки: Left <-->Right


15-1218053693
Franciscosuarez
2008-08-07 00:14
2008.09.28
Красивая задача...может и встречалась тут)))не знаю