Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.07;
Скачать: CL | DM;

Вниз

форма   Найти похожие ветки 

 
Алексей Филонович   (2006-12-20 04:16) [0]

народ,подскажите как мне при зажатии на картинку двигать форму?


 
balepa ©   (2006-12-20 05:16) [1]

Самый простой:
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;
}

Можно так:
void __fastcall TForm1::ONTest(TMessage& msg);
BEGIN_MESSAGE_MAP
       VCL_MESSAGE_HANDLER(WM_NCHITTEST, TMessage, ONTest);
END_MESSAGE_MAP(TForm)

void __fastcall TForm1::ONTest(TMessage& msg)
{
   TForm::Dispatch(&msg);
   if(msg.Result == HTCLIENT)
       msg.Result = HTCAPTION;
}


 
Loginov Dmitry ©   (2006-12-20 07:33) [2]

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
const
  Sc_dragmove = $F012;
begin
  ReleaseCapture;
  Perform(WM_SYSCOMMAND, Sc_dragmove, 0);
end;



Страницы: 1 вся ветка

Текущий архив: 2007.01.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
15-1166154820
Slider007
2006-12-15 06:53
2007.01.07
С днем рождения ! 15 декабря


2-1166121630
Derty_Edd
2006-12-14 21:40
2007.01.07
Acess Vs Delphi


15-1166114616
Ricko
2006-12-14 19:43
2007.01.07
Ваши пожелания к клиенту этого форума


2-1166385020
apv1989
2006-12-17 22:50
2007.01.07
все, наверное тут привыкли к подобным вопросам, но...


15-1164905754
oldman
2006-11-30 19:55
2007.01.07
Игрушка не может найти драйвера для загрузки "мультитекстур"...