![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перетаскивание формы за контрол на winapi [D7, WinXP]
Альберт © (2007-01-04 03:43:00)как этьо сделать?
поставить хук.
ждать WM_NCHITTEST.
и отправлять окну SendMessageм (Wnd, WM_NCHITTEST, HTCAPTION, 0).
но не выходит...
Альберт (2007-01-06 22:35:00) [1]придумал решение
if TMsg(Pointer(lParam)^).message = WM_LBUTTONDOWN then
begin
ReleaseCapture;
SendMessage(GlobalData^.detectwnd, WM_NCLBUTTONDOWN, htCaption, 0) ;
end;
Альберт (2007-01-06 21:33:00) [2]спасибо, но я именно через dll делаю.. другого выбора нет.. нужно ловить именно чужие определенные окна.. не свою форму..
Eraser (2007-01-06 17:27:00) [3]> [0] Альберт © (04.01.07 03:43)
никаких хуков не надо!
достаточно просто обрабатывать в OnMouseDown нужного контрола выполнять код
const
SC_DragMove = $F012; {a magic number}
begin
ReleaseCapture;
Perform(WM_SysCommand, SC_DragMove, 0);
Альберт (2007-01-05 22:22:00) [4]в окне флешка стоит, и за нее пытаюсь переместить окно.. и ни фига. вообще это возможно сделать?