Вниз
Скачать: 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-1257101336
Norgan
2009-11-01 21:48
2009.12.20
Отображение кода функциональной клавиши


1-1229527638
Afonya
2008-12-17 18:27
2009.12.20
Работа с окном другого приложения


15-1256327662
SkyN
2009-10-23 23:54
2009.12.20
компонент простейшего dns сервера


2-1257238572
Кедр
2009-11-03 11:56
2009.12.20
OpenOffice


2-1257257897
Сергей
2009-11-03 17:18
2009.12.20
Как передать процедуру на выполнение в Timer.OnTimer?




   Наверх