![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TFrame versus WM_NCHITTEST [D6, Win2k]
vt © (2004-10-05 03:21:00)Хочу таскать форму за любое место, но на форме у меня расположены динамически созданные фреймы с контроллами, соответственно для того, чтобы можно было тасать за фрейм, в класс фрейма я добавил код:
procedure Tframe_clist.WMNCHitTest(var msg: TWMNCHitTest);
begin
inherited;
if msg.Result=htClient then msg.Result:=htTransparent;
end;
Но фрейм не хочет пропускать под себя сообщения и форма не таскается за фрейм, что можно в этом случае сделать?
PS: в самой форме конечно же имеется:
procedure Tform_main.WMNCHitTest(var msg: TWMNCHitTest);
begin
inherited;
if msg.Result=htClient then msg.Result:=htCaption;
end;
Fay (2004-10-05 11:06:00) [1]Я проверял 8)
vt (2004-10-05 11:02:00) [2]Нет, таскание формы делал через обработку WMNCHitTest (см. код выше).
И ещё прикол, у фреймов не срабатывают обработчики OnMouseDown и другие... :(
Fay (2004-10-05 03:33:00) [3]Если таскание делал через OnMouseDown + SendMessage(Self.Handle, WM_SYSCOMMAND, SC_DRAGMOVE, 0), можешь просто заместить OnMouseDown фрейму.