Форум: "Основная";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];
Внизперемещение контрола за всю клиентскую область Найти похожие ветки
← →
Antonn © (2005-08-07 09:24) [0]использую код:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const SC_DRAGMOVE:Longint=$F012;
begin
if Button <> mbRight then begin
ReleaseCapture;
SendMessage(Handle, WM_SYSCOMMAND, SC_DRAGMOVE, 0);
end;
end;
работает, перетаскивает форму как и надо, но проблемма в том, что при срабатывании этого кода, не "отвечает" OnMouseUp.
Как это можно исправить?
Спасибо.
← →
Lamer@fools.ua © (2005-08-07 10:56) [1]> перемещение контрола за всю клиентскую область
>работает, перетаскивает форму как и надо
Так что двигаете всё-таки: форму или контрол на ней? Если форму, то Вы выбрали дико извратный способ. Если контрол, то тоже.
>const SC_DRAGMOVE:Longint=$F012;
Где Вы такое нашли?
http://search.microsoft.com/search/results.aspx?qu=SC_DRAGMOVE&View=msdn&st=b&c=4&s=1&swc=4
← →
Leonid Troyanovsky © (2005-08-07 11:04) [2]
> Lamer@fools.ua © (07.08.05 10:56) [1]
> >const SC_DRAGMOVE:Longint=$F012;
> Где Вы такое нашли?
Оно недокументировано, но весьма популярно.
--
Regards, LVT.
← →
Antonn © (2005-08-07 11:15) [3]Lamer@fools.ua © (07.08.05 10:56) [1]
перемещаю форму, и почему извратный? подскажите не извратный.
при использовании:
procedure TForm1.WMNCHitTest (var M:TWMNCHitTest);
begin
inherited;
if M.Result = htClient then M.Result := htCaption;
end;
такая же проблемма
← →
Lamer@fools.ua © (2005-08-07 11:43) [4]>>Leonid Troyanovsky © (07.08.05 11:04) [2]
Хм... буду иметь в виду. Хотя сомневаюсь, что буду использовать. Не люблю недокументированных способов.
>>Antonn © (07.08.05 11:15) [3]
>такая же проблемма
Да, действительно. Пока не придумал, как победить. Если придумаю, напишу...
← →
Lamer@fools.ua © (2005-08-07 12:29) [5]Spy++ показывает, что сообщение WM_LBUTTONUP постится в очередь сообщений в случае [3]. Почему оно не доходит, пока не разобрался.
← →
Antonn © (2005-08-07 13:26) [6]Lamer@fools.ua © (07.08.05 12:29) [5]
может там в исходниках где inherited; пропустили? :)
← →
Mx © (2005-08-07 13:51) [7]Попробуй убрать ReleaseCapture
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c