Red-Storm |
Отправлено: 12.07.2005, 17:05 |
|
Не зарегистрирован
|
Нужно было тоскать компонент по форме, нашёл всеми любимый алгоритм с использованием ReleaseCapture и SysCom SC_DRAGMOVE. В OnMouseDown забил следующее :
//---------------------------------------------------------------------------
void __fastcall TForm1::Panel1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
long SC_DRAGMOVE = 0xF012;
if (Button == mbLeft)
{
ReleaseCapture();
SendMessage(Panel1->Handle, WM_SYSCOMMAND, SC_DRAGMOVE, 0);
}
}
//---------------------------------------------------------------------------
Всё ничего, если бы после перехвата Capture, можно было бы вернуть его обратно, иначе код забитый в OnMouseUp :
//---------------------------------------------------------------------------
void __fastcall TForm1::Panel1MouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
if (Button == mbLeft)
{
ShowMessage("Return Capture");
}
}
//---------------------------------------------------------------------------
Как-то не очнь хочит отробатываться, как это можно сделать ??? |
|
Doga |
Отправлено: 12.07.2005, 18:44 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
В библиотеке RxLib есть компонент RxWindowHook.
|
|
|