Вниз
Скачать: CL | DM;

Границы родительской формы для MDI   Найти похожие ветки 

 
Keba   (2009-10-31 15:50) [0]


type  
 TWmMoving = record  
   Msg: Cardinal;  
   fwSide: Cardinal;  
   lpRect: PRect;  
   Result: Integer;  
 end;  

// Добавляем обработчик на небходимую форму в секцию private:

procedure WMMoving(var msg: TWMMoving); message WM_MOVING;

// Описываем обработчик так

 procedure TForm1.WMMoving(var msg: TWMMoving);  
 var  
   r: TRect;  
 begin  
   r := Screen.WorkareaRect;  
  // сравниваем новую область формы в msg.lpRect^ с r и изменяем занчения при необходимости
   if msg.lprect^.left < r.left then  
    OffsetRect(msg.lprect^, r.left - msg.lprect^.left, 0);  
   if msg.lprect^.top < r.top then  
    OffsetRect(msg.lprect^, 0, r.top - msg.lprect^.top);  
   if msg.lprect^.right > r.right then  
    OffsetRect(msg.lprect^, r.right - msg.lprect^.right, 0);  
   if msg.lprect^.bottom > r.bottom then  
    OffsetRect(msg.lprect^, 0, r.bottom - msg.lprect^.bottom);  
   inherited;  
 end;

Как этот код добавить MDI форме, чтобы границей было не окно виндовса, а родительская форма?


 
AIK ©   (2009-10-31 16:50) [1]

Вообще процедура кроме как обработки параметров переданной в msg: TWMMoving
Больше ничего не делает, и ответ на вопрос с этим огрызкам кода вряд ли получишь
Но логично предположить что ответ кроется гдето здесь: r := Screen.WorkareaRect;


> type  
>  TWmMoving = record  
>    Msg: Cardinal;
>    fwSide: Cardinal;
>    lpRect: PRect;  
>    Result: Integer;
>  end;


А они для чего? Для красоты чтоли?



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.007 c
2-1257311762
uMain
2009-11-04 08:16
2009.12.20
Мультиязычность


15-1255923670
Denis123
2009-10-19 07:41
2009.12.20
Попробуйте разгадать задачку


15-1256237040
POOP
2009-10-22 22:44
2009.12.20
Есть ли от этого польза?


15-1256107117
TIF
2009-10-21 10:38
2009.12.20
facebook обладает ИИ?


2-1257005562
minomorf
2009-10-31 19:12
2009.12.20
Как оргаизовать связку число-строка?




   Наверх