![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перемещение формы не используя заголовок [D7, XP]
nstur © (2006-09-05 08:34:00)У меня форма без заголовка и бордюра. На ней TImage и еще несколько элементов. Как организовать перемещение формы используя её тело?
Handle (2006-09-05 09:12:00) [1]
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const DG=$F012;
begin
if Button=mbLeft then begin
ReleaseCapture; Form1.Perform(WM_SYSCOMMAND, DG, 0);
end;
end;
balepa (2006-09-05 08:38:00) [2]WM_NCHITTEST
или
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if (Button == mbLeft)
{
fX = X;
fY = Y;
_Move = true;
}
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
unsigned long dX, dY;
if (_Move == true)
{
dX = X - fX;
dY = Y - fY;
Form1->Left += dX;
Form1->Top += dY;
}
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
_Move = false;
}
//---------------------------------------------------------------------------