![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как мне за имадж перетаскивать форму [D5]
Andrey196 © (2001-12-23 20:31:00)У меня на всу форму растянут имадж form.borderstyle:=bsNone;
Как мне за имадж перетаскивать форму.
СПАСИБО!!!!!
Al Creator (2001-12-23 21:51:00) [1]Достаточно известен способ перемещения приложения без Caption. Для решения этой технической задачи нужно переопределить обработчик события WM_NCHITTEST для окна следующим образом:
type
TForm1=class(TForm)
....
private
procedure WMNCHITTEST(var M:TWMNCHitTest);message wm_NCHitTest;
...
end;
procedure TForm1.WMNCHITTEST(var M:TWMNCHitTest);message wm_NCHitTest;
begin
(вызов унаследованного обработчика событий)
inherited;
(если событие произошло в клиентской области, )
IF M.Result=htClient then
(то пусть думает, что произошло на Caption)
M.Result:=htCaption;
end;
Недостаток такого окна - не вызываются обработчи событий связанных с мышью....
Всё, что было проделано с формой можно применить и к остальным оконным компонентам. Никто не запрещает переопределять WM_NCHitTEST