Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Form [D5]


JeM ©   (2002-11-20 07:52:00) 

Если я создаю несколько форм в run-time как их перетаскивать за всю область формы?


Vlad1   (2002-11-22 21:02:00) [1]

>
> BIN



type Tform1=class(TForm)
......................
procedure AllMove(var Msg:TMessage);message WM_NCHITTEST;
......................

implementation
.....................
procedure TForm1.AllMove(var Msg:TMessage);
begin
inherited;
if Msg.Result=1 then Msg.Result:=2;
end;
</CODE
Нормально работает.


Игорь Шевченко   (2002-11-20 11:35:00) [2]

procedure TfRgnDialog.WMNCHitTest(var Message: TWMNCHitTest);
begin
Message.Result := HTCAPTION;
end;


Александр Павлов   (2002-11-20 11:33:00) [3]

procedure MyFormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
perform(WM_SysCommand, $F012, 0);
end;


...
NewForm.OnMouseDown := MyOnMouseDown;
...


BIN   (2002-11-20 10:00:00) [4]

А как это будет выглядеть? Так не получается :

procedure TForm1.ActionMessage (var Msg : TMessage );
begin
if msg.WParam = HTCLIENT then msg.WParam := HTCAPTION;
inherited;
end;


apay   (2002-11-20 09:25:00) [5]

перехватить message WM_NCHITTEST, вместо HTCLIENT подсунуть HTCAPTION и обмануть windows


Наверх

Титульная страница Поиск, карта сайта Написать письмо