Главная страница
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.02 c
1-1198966864
Michael
2007-12-30 01:21
2008.09.28
DDE в сервисе.


15-1217744147
ketmar
2008-08-03 10:15
2008.09.28
как не надо писать код


3-1206703836
Tornado
2008-03-28 14:30
2008.09.28
Почему не правильно работает такой запрос?


1-1198754585
Kerk
2007-12-27 14:23
2008.09.28
Не переключается раскладка клавиатуры в Excel в OLE-контейнере


2-1219215836
ReYo
2008-08-20 11:03
2008.09.28
Как узнать какое windows - окно активно?