Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перемещение формы не используя заголовок [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;
}
//---------------------------------------------------------------------------


Наверх

Титульная страница Поиск, карта сайта Написать письмо