![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как таскать окно. [D6, Win95/98, WinXP]
_sMile © (2002-10-04 11:30:00)Как сделать на WinAPI так, чтобы пользователь мог таскать окно за любую его точку (окно без заголовка)?
_sMile (2002-10-04 12:05:00) [1]2 Termik:
C O O L
Всё прекрасно работает и код небольшой! =)
/ Всё гениальное - просто./
2 all:
Всем огромное спасибо!
MBo (2002-10-04 12:01:00) [2]Если ты осознанно написал "прогe полностью на WinAPI", то вопрос с твоей стороны довольно странный
_sMile (2002-10-04 11:55:00) [3]Знаю такой способ:
procedure WMNCHitTest(var M: TWMNCHitTest); message wm_NCHitTest;
...
procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
begin
inherited;
if M.Result = htClient then
M.Result := htCaption;
end;
Но прога полностью на WinAPI, как поместить аналогичный код в обработчик сообщений окна?
Termik (2002-10-04 11:54:00) [4]Зачем на WinApi ?!
Попробуй так:
procedure TForm1.MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012; { a magic number }
begin
ReleaseCapture;
perform(WM_SysCommand, SC_DragMove, 0);
end;
Игорь Шевченко (2002-10-04 11:47:00) [5]_sMile (04.10.02 11:44)
А можно пример того, что не получается ? :-)
_sMile (2002-10-04 11:44:00) [6]Не получается, можно пример?
Игорь Шевченко (2002-10-04 11:31:00) [7]Обрабатывать WM_NCHITTEST, возвращая HTCAPTION