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

Вниз

приклеить дополнительную форму   Найти похожие ветки 

 
tst   (2006-09-26 14:40) [0]

Мужики, подскажите что перехватываем для отлова перемещения окна главной формы, что бы можно было бы спозиционировать рядышком где-нибудь дополнительную формочку?


 
Игорь Шевченко ©   (2006-09-26 14:50) [1]

WM_MOVE


 
tst   (2006-09-26 15:12) [2]

спасибо Игорёк!

Примерно так:

type
 TfrmMain = class(TForm)
 private
   procedure OnMove(var Msg: TWMMove); message WM_MOVE;
end;

...

procedure TfrmMain.OnMove(var Msg: TWMMove);
begin
 inherited;
 ...
end;

...


 
Игорь Шевченко ©   (2006-09-26 15:54) [3]


> Примерно так:


unit main;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls;

type
 TfMain = class(TForm)
   cbSyncMoving: TCheckBox;
 private
   procedure WMMove (var Message: TWmMove);
     message WM_MOVE;
   procedure WMMoving (var Message: TMessage);
     message WM_MOVING;
   procedure UpdateChildPos;
   procedure UpdateChildRect (const Rect: TRect);
 end;

var
 fMain: TfMain;

implementation
uses
 Child;

{$R *.DFM}

{ TfMain }

procedure TfMain.UpdateChildPos;
begin
 if Assigned(fChild) then begin
   fChild.Left := Left;
   fChild.Top := Top + Height;
 end;
end;

procedure TfMain.UpdateChildRect(const Rect: TRect);
begin
 if Assigned(fChild) then begin
   fChild.Left := Rect.Left;
   fChild.Top := Rect.Top + Height;
 end;
end;

procedure TfMain.WMMove(var Message: TWmMove);
begin
 inherited;
 UpdateChildPos;
end;

procedure TfMain.WMMoving(var Message: TMessage);
begin
 inherited;
 if cbSyncMoving.Checked then
   UpdateChildRect (PRect(Message.LParam)^);
end;

end.



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

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

Наверх




Память: 0.47 MB
Время: 0.037 c
15-1169134624
kaif
2007-01-18 18:37
2007.02.11
Игровой квадрат


8-1150349926
Vasiliy
2006-06-15 09:38
2007.02.11
Управление выходом видеокарты ???


3-1164098174
RomanH
2006-11-21 11:36
2007.02.11
Замысловатый SQL-запрос


15-1169284397
Piroxyline
2007-01-20 12:13
2007.02.11
Спам


2-1169807074
НиколайКо
2007-01-26 13:24
2007.02.11
Как заставить окно всегда быть онтопом.